import random
def compute(q, ans):
symbol = random.randint(0, 3) # 用0-3代表四則運算的符號
n1 = random.randint(0, 100) # 生成0-100之間的隨機數
n2 = random.randint(0, 100)
if symbol == 0:
q.append(str(n1) + '+' + str(n2) + '=')
ans.append(n1 + n2)
elif symbol == 1:
n1, n2 = max(n1, n1), min(n1, n2) # 防止出現負數
q.append(str(n1) + '-' + str(n2) + '=')
ans.append(n1 - n2)
elif symbol == 2:
q.append(str(n1) + '×' + str(n2) + '=')
ans.append(n1 * n2)
else:
if n1 == 0:
n2 = random.randint(1, 100)
else:
n2 = random.randint(1, n1 + 1)
q.append(str(n1) + '÷' + str(n2) + '=')
ans.append(n1/n2) # 浮點數,除法結果至少要保留小數點后一位
def main():
while 1:
print("輸入題目的數量", end=' ')
k = int(input())
s = 0 # 得分初始值為0
q = []
ans = []
for i in range(k):
compute(q, ans)
for i in range(k):
print("第{}題:{}".format(i + 1, q[i]), end=" ")
a = input()
if a == str(ans[i]):
s = s + 1
print("所得的分數為:{}".format(s))
print("正確答案:", end=" ")
for i in range(k):
print(q[i] + str(ans[i]))
if __name__ == '__main__':
main()
運行結果
