Python实现的简单算术游戏实例

831次阅读  |  发布于5年以前

本文实例讲述了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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8