本文实例讲述了Python实现的简单算术游戏。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/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()
|
运行结果如下:
1
2
3
4
5
6
7
8
9
|
8 - 1 = 7
correct
Again? [y]y
7 - 1 = 6
correct
Again? [y]y
9 + 4 = 0
incorrect... try again
9 + 4 =
|
希望本文所述对大家的Python程序设计有所帮助。