如何让猜数小游戏判断输入的是什么类型数据然后执行
我是新手学,断断续续学了没4天,我在不断的完善我的小程序。我的目的是让用户输入的时候程序判断输入是否符合小程序,经过我的努力,我让小程序在整数范围内可以判断是否符合小程序的输入条件,但是还是不够完美,因为当输入字符串时候程序执行到shuru=int(input("请输入1到10之间的一个整数:"))就会报错,因为这句将用户输入的数据类型做了整形转换。我想让小程序输入字符串时候执行print("对不起您输入的不是1到10之间的整数"),同样输入小数的时候也打印print("对不起您输入的不是1到10之间的整数")#-*-coding:utf-8-*-
print("数字小游戏")
from random import randint
a=1
while a<=3:
a+=1
xinxiang=randint(1,10)
list =
shuru=int(input("请输入1到10之间的一个整数:"))
if shuru in list:
print("您输入的是1到10之间的数字")
if shuru==xinxiang:
print("恭喜您猜对啦,哈哈,但是也没什么奖励给你幺")
break
elif shuru>xinxiang:
print("不好意思,你猜的数字有点大哦,往小猜吧,机会只有3次哦")
elif shuru<xinxiang:
print("嘿嘿,不好意思,你这次猜的有点小了,往大猜吧")
else:
print("对不起您输入的不是1到10之间的整数")
print("游戏结束,不玩了") 本帖最后由 thexiosi 于 2017-5-5 17:23 编辑
你好
请参考如下代码:
代码
temp = input("请输入一个整数:")
while not temp.isdigit(): # 只有当用户输入整数时,才能退出while循环
temp = input("输入错误,请输入整数:")
代码的运行情况
>>>
请输入一个整数:2.3
输入错误,请输入整数:abc
输入错误,请输入整数:3
thexiosi 发表于 2017-5-5 17:19
你好
请参考如下代码:
非常感谢,我就是不知道这个方法,刚才试了试,的确能实现我的目的,只不过我需要时间来理解和融入我的小游戏,谢谢{:5_91:} 浪里花 发表于 2017-5-5 17:32
非常感谢,我就是不知道这个方法,刚才试了试,的确能实现我的目的,只不过我需要时间来理解和融入我的小 ...
不客气,握爪,我也是小白,大家一起加油↖(^ω^)↗ 我看到你加我好友了,可惜我权限不够呢,等我有权限的时候加你吧 thexiosi 发表于 2017-5-5 17:46
不客气,握爪,我也是小白,大家一起加油↖(^ω^)↗
看到你加我了,我权限不够呢,等我权限够了加你吧 浪里花 发表于 2017-5-7 11:26
看到你加我了,我权限不够呢,等我权限够了加你吧
OKOK ↖(^ω^)↗ thexiosi 发表于 2017-5-8 07:07
OKOK ↖(^ω^)↗
经过你的提示,我把我的小程序修改成了这样子,哈哈,感觉好开心啊
#-*-coding:utf-8-*-
print("-------------------------猜数字小游戏---------------------------")
from random import randint#导入随机函数
xinxiang=randint(1,10) #定义随机数的取值范围
a=0 #定义进入循环条件
while a<3:#符合条件的进入循环体
shuru = input("请输入一个正整数:")#让用户输入一个正整数,但是这里的变量shuru是一个字符串类型
a+=1 #循环体控制循环次数的累加器
if shuru.isdigit(): #这里的if语句是判断用户输入的是不是数字变量,是就执行下去,不是就执行此if对应的else
shuru=int(shuru) #当输入的变量符合上层条件,这里讲字符串转为int整型变量,否则无法和随机数做比较
if shuru==xinxiang: #用户输入等于随机数,输出猜对了
print("恭喜您猜对了,不过没什么奖励给你哦")
break #程序没必要继续执行下边的,直接跳出循环来终结循环次数
elif shuru<xinxiang: #用户输入小于随机数打印小了
print("不好意思,猜小了,猜小了")
elif shuru>xinxiang: #用户输入大于随机数打印大了
print("不好意思,猜大了,猜大了")
else: #这里的else语句下面的是当用户不按程序规则输入时候执行的语句
list=["由于您输入的不是整数您浪费了",a,"次机会了"] #这里提示用户不按要求输入浪费了几次机会
print(list)
print("不和你玩了,游戏结束") #循环结束打印游戏结束 {:5_109:}很棒很棒
页:
[1]