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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/8184.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论