python学习——计算游戏

逻辑:

从1-9之间随机选取2个数,从+、-中随机选取一个运算符,等待一个算式。我们根据算式给出答案,如果对则显示答对了,并且得分+1,如果同一道题3次都答错了就告诉正确答案,结束游戏的时候告知你得分。

实现代码:

 1 from operator import add, sub
 2 from random import randint, choice
 3 
 4 #定义全局变量:操作符字典、得分、答题机会
 5 ops = {'+': add, '-': sub}
 6 MAXTRIRES = 2
 7 COUNT = 0
 8 
 9 def example():
10     #未加global则为局部变量
11     global  COUNT
12     op = choice('+-')
13     nums = [randint(1,10) for i in range(2)]
14     #把2个数字排序
15     nums.sort(reverse=True)
16     ans=ops[op](*nums)
17     oops=0
18     #字符串格式化 %s %d %f %c,2个字符串同时引用%(1,2)
19     equales = '%s %s %s = ' % (nums[0], op, nums[1])
20     while True:
21             if(int(input(equales)) == ans):
22                 print("correct")
23                 COUNT = COUNT + 1
24                 break
25             elif(oops == MAXTRIRES):
26                 print("Anwser is %d" %ans)
27                 break
28             else:
29                 oops += 1
30                 print("you are wrong")
31 
32 def main():
33     while True:
34         example()
35         try:
36             opt = input("Do you want to play again?").lower()
37             if(opt == 'n'):
38                 print("You get %d score" %COUNT)
39                 break
40         except (KeyboardInterrupt, EOFError):
41             break
42 
43 #如果单独调用这个程序则只需这下面的内容
44 if __name__=='__main__':
45     main()

 

posted @ 2016-10-21 11:14  夜晚风吻尽  阅读(158)  评论(0编辑  收藏  举报