2 回答
TA贡献1775条经验 获得超8个赞
1 使“答案”与用于“问题”的同一组 random.randomint 匹配。
您可以先构建一个列表,该列表创建数字并将其用于问题和答案。
numbers = [(random.randint(1, 12), random.randint(1,12)) for _ in range(NoofQ)]
然后在问答中使用它:
for question_num in range(1,NoofQ +1): #i would prefer that question_num starts at 0
ops = ['*','/','+','-']
rand, rand2 = numbers[question_num-1]
2 为用户提供一个选项来选择用于测验的特定运算符而不是随机运算符。
op = input("Please enter your operator (+, -, /, or *): ")
3 对于减法运算符,确保第一个操作数大于第二个操作数,以免程序给出否定答案。
if operation == "-" and rand < rand2:
rand, rand2 = rand2, rand
TA贡献1851条经验 获得超4个赞
为了确保正减法结果,您可以使用abs 函数。或者您可以先对值进行排序:
answer = abs(4-3)
small, big = sorted((4,3))
answer = big - small.
您制作了一个xyz_quiz.txt包含答案代码所需的所有信息的文件。阅读测验文件,对于每个问题,使用str方法进行拆分和剥离,直到获得数学。
>>> question = '1: 6 - 11 = ________'
>>> question, _ = question.split('=')
>>> question
'1: 6 - 11 '
>>> q_number, q = question.split(':')
>>> q_number
'1'
>>> q
' 6 - 11 '
>>> q = q.strip()
>>> q
'6 - 11'
>>>
添加回答
举报