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()