[Python] 用Python实现一个简单的算术游戏 →→→→→进入此内容的聊天室

来自 , 2021-03-20, 写在 Python, 查看 135 次.
URL http://www.code666.cn/view/78719f11
  1. #!/usr/bin/env python
  2.  
  3. from operator import add, sub
  4. from random import randint, choice
  5.  
  6. ops = {'+': add, '-':sub}
  7. #定义一个字典
  8. MAXTRIES = 2
  9.  
  10. def doprob():
  11.     op = choice('+-')
  12.     #用choice从'+-'中随意选择操作符
  13.     nums = [randint(1,10) for i in range(2)]
  14.     #用randint(1,10)随机生成一个1到10的数,随机两次使用range(2)
  15.     nums.sort(reverse=True)
  16.     #按升序排序
  17.     ans = ops[op](*nums)
  18.     #利用函数
  19.     pr = '%d %s %d = ' % (nums[0], op, nums[1])
  20.     oops = 0
  21.     #oops用来计算failure测试,当三次时自动给出答案
  22.     while True:
  23.         try:
  24.             if int(raw_input(pr)) == ans:
  25.                 print 'correct'
  26.                 break
  27.             if oops == MAXTRIES:
  28.                 print 'answer\n %s%d' % (pr, ans)
  29.                 break
  30.             else:
  31.                 print 'incorrect... try again'
  32.                 oops += 1
  33.         except (KeyboardInterrupt, EOFError, ValueError):
  34.             print 'invalid ipnut... try again'
  35. def main():
  36.     while True:
  37.         doprob()
  38.         try:
  39.             opt = raw_input('Again? [y]').lower()
  40.             if opt and opt[0] == 'n':
  41.                 break
  42.         except (KeyboardInterrupt, EOFError):
  43.             break
  44.  
  45. if __name__ == '__main__':
  46.     main()
  47.  
  48. #//python/5960

回复 "用Python实现一个简单的算术游戏"

这儿你可以回复上面这条便签

captcha