这篇文章主要介绍了Python实现的简单算术游戏,可实现随机给出算数表达式,并对用户输入答案进行判断的功能,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。