- #!/usr/bin/env python
- from operator import add,sub
- from random import randint,choice
- ops = {'+' : add, '-': sub}
- MAXTRIES = 2
- def doprob():
- op = choice('+-')
- nums = [randint(1,10) for i in xrange(2)]
- nums.sort(reverse=True)
- ans=ops[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()
- #该片段来自于http://www.codesnippet.cn/detail/300720134898.html
来源: http://www.codesnippet.cn/detail/300720134898.html