https://github.com/3201266226/lllllllllllllll/blob/master/%E5%B0%8F%E5%AD%A6%E7%94%9F%E8%AE%A1%E7%AE%97(%E6%94%B9).py
Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
计划 | 10 | 20 |
估计这个任务需要多少时间 | 10 | 20 |
开发 | 30 | 20 |
需求分析 | 10 | 20 |
生成设计文档 | 10 | 20 |
设计复审 (和同事审核设计文档) | 10 | 20 |
代码规范 (为目前的开发制定合适的规范) | 10 | 20 |
具体设计 | 10 | 20 |
具体编码 | 10 | 20 |
代码复审 | 10 | 20 |
测试(自我测试,修改代码,提交修改) | 10 | 20 |
报告 | 10 | 20 |
测试报告 | 10 | 20 |
计算工作量 | 10 | 20 |
事后总结, 并提出过程改进计划 | 10 | 20 |
解题思路:1、运算所用的数字、运算符、数字和运算符的数量均由python内置random库取得
· 2、循环生成的式子存在列表中,数字转换成字符,确保除法“/”后的数字不为0
· 3、把列表转换为字符串
· 4、用python内置eval()函数计算结果
5、新增参数level表示难度水平,level越大,算式越复杂
代码
import random
operator = {0:‘+‘, 1:‘-‘, 2:‘*‘, 3:‘/‘}
while(True):
level = int(input("输入难度,1为简单,2为困难:"))
list = []
sz = random.randint(1,100)
list.append(str(sz))
for i in range(random.randint(level, level + 1)):
sz = random.randint(0,100)
op = random.randint(0, 3)
if op == 3 and sz == 0:
sz = random.randint(1, 100)
list.append(operator[op])
list.append(str(sz))
string = ‘‘.join(list)
if(eval(string) <= 0):
continue
print(string)
answer0 = float(input("输入你的答案:"))
if(answer0 == eval(string)):
print("答案正确")
else:
print("答案错误,正确答案:",end = "")
print(round(eval(string),1))
break
测试例子:
原文:https://www.cnblogs.com/guyuanlin/p/13742284.html