用Python实现一个简单的算术游戏,python实现算术,#!/usr/bin/e


#!/usr/bin/env pythonfrom operator import add, sub from random import randint, choiceops = {'+': 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):            breakif __name__ == '__main__':    main()

评论关闭