上篇我们给出了一个简单的猜数游戏,还有很多不足的地方:
(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("游戏结束")
待更进……