赞
踩
上篇我们给出了一个简单的猜数游戏,还有很多不足的地方:
(1)输入的时候当我们输入其他非数字的字符时,系统会报错,因为非数字字符无法转换为整数,那么我们如何修改可使程序更加健壮呢?为了解决这个问题我们先来了解一下python中的input输入函数。
在python2中从控制台接收输入的方式有两种:input()和raw_input(),当输入为纯数字时input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会。
如输入 “57 + 3”,input会得到整数60,而raw_input会得到字符串”57 + 3”
在python3中将raw_input与input进行了合并,只有input函数接收控制台的标准输入,返回的类型为str,即使你输入的是纯数字也会转换为str类型,因此我们需要进行类型转换。
游戏的改进
在输入非数字的字符时,能够给出提示,并继续执行。
本人刚接触python,能力有限,目前只实现了给出提示这一功能
import random
num=random.randint(0,10)
print('--------哈哈工作室----------')
def strToint(temp):
try:
g=int(temp)
return g
except:
print('出错啦!请输入一个非0数字哦')
temp=input('输入一个非0数字吧:')
guess=strToint(temp)
n=0
while(guess!=num and n<2):
if(guess>num):
print('大了大了,你还有'+(str)(2-n)+'次机会哦')
n=n+1
else:
print('小了小了,你还有'+(str)(2-n)+'次机会哦')
n=n+1
temp=input('再猜一个数字吧:')
guess=int(temp)
if(n==2):
print('太遗憾了,你已经没有机会了')
else:
print('你太厉害了,猜对了!')
print("游戏结束")
待更进……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。