小学数学速算math_game_V1.0

这两天在学习Python,昨天儿子问我能不能给他做一个做数学题的小程序。

我想刚好可以练习一下学过的变量,还可以免去买数学题的麻烦。

以下是代码。

每天进步一点,离梦想更近。

 1 import random
 2 
 3 total_right = 0#全局变量,总的答对题目
 4 total_wrong = 0#全局变量,总的答错题目
 5 
 6 
 7 def random_num(mini_num, max_num):
 8     '''生成随机数,限定最大数和最小数'''
 9     num = random.randint(mini_num, max_num)
10     #print(num)
11     return num
12 
13 #
14 def calculate():
15     '''开始出题'''
16     global total_right,total_wrong
17     #小学一年级,所以设定10以内的加法
18     num1 = random_num(0, 5)
19     num2 = random_num(0, 5)
20     #print("%d + %d = "%(num1,num2))
21     #获取输入的答案
22     user_answer = input("输入z退出程序\n%d + %d = "%(num1,num2))
23     #计算正确答案
24     true_answer = num1 + num2
25     #print(user_answer)
26     if user_answer == 'z':#如果输入 z 则退出程序
27         print('已经退出程序,下次继续加油哦')
28         exit()
29     elif int(user_answer) == true_answer:        
30         total_right = total_right + 1#算对了就累积在正确题里边
31         right_rate = total_right/(total_right + total_wrong)*100
32         information = '你真棒,回答正确。\n目前回答正确%s道题\n目前回答错误%s道题\n目前正确率为%d%s\n'%(total_right,total_wrong,int(right_rate),'%')
35         print('*'*50+'\n'+information+'*'*50+'\n')36 
37     else:
38         total_wrong = total_wrong + 1#算错了就累积在正确题里边
39         right_rate = total_right/(total_right + total_wrong)*100
40         information = '很可惜,回答错误。\n目前回答正确%s道题\n目前回答错误%s道题\n目前正确率为%d%s\n'%(total_right,total_wrong,int(right_rate),'%')
43         print('*'*50+'\n'+information+'*'*50+'\n')
44 
45 def main():
46     '''主程序'''
47     
48     while True:#用一个死循环重复做题
49         calculate()
50 
51 if __name__ == '__main__':
52     main()

 

posted on 2018-10-25 14:54  Aking_Huang  阅读(153)  评论(0编辑  收藏  举报