要实现的功能如题:
代码如下:
#!/usr/bin/env python
from operator import add, sub,mul,div, imod
from random import randint, choice
ops = {'+': add, '-': sub, '*': mul, '/': div}
ops1 = {'+': add, '-': sub, '*': mul}
MAXTRIES = 2
def doprob():
    nums = [randint(1,10) for i in range(2)]
    nums.sort(reverse=True)
    if  imod(*nums) == 0:
        op = choice('+-*/')
        ans=ops[op](*nums)
    else:
        op = choice('+-*')
        ans=ops1[op](*nums)
    pr='%d %s %d =' % (nums[0],op,nums[1])  
    oops = 0
    while True:
        try:
            if int(raw_input(pr))==ans:
                print 'correct!'
                break
            if oops == MAXTRIES:
                print 'answer \n%s%d' %(pr,ans)
            else:
                print 'incorrect... try again' 
                oops+=1
        except(KeyboardInterrupt,EOFError,ValueError):  
             print 'invalid input... 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()