本文实例讲述了Python实现的简单算术游戏。分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/env python from operator import add,sub from random import randint,choice ops = {'+': add,'-':sub} #定义一个字典 MAXTRIES = 2 def doprob(): op = choice('+-') #用choice从'+-'中随意选择操作符 nums = [randint(1,10) for i in range(2)] #用randint(1,10)随机生成一个1到10的数,随机两次使用range(2) nums.sort(reverse=True) #按升序排序 ans = ops[op](*nums) #利用函数 pr = '%d %s %d = ' % (nums[0],op,nums[1]) oops = 0 #oops用来计算failure测试,当三次时自动给出答案 while True: try: if int(raw_input(pr)) == ans: print 'correct' break if oops == MAXTRIES: print 'answer\n %s%d' % (pr,ans) break else: print 'incorrect... try again' oops += 1 except (KeyboardInterrupt,EOFError,ValueError): print 'invalid ipnut... try again' def main(): while True: doprob() try: opt = raw_input('Again? [y]').lower() if opt and opt[0] == 'n': break except (KeyboardInterrupt,EOFError): break if __name__ == '__main__': main()
运行结果如下:
8 - 1 = 7 correct Again? [y]y 7 - 1 = 6 correct Again? [y]y 9 + 4 = 0 incorrect... try again 9 + 4 =
希望本文所述对大家的Python程序设计有所帮助。