|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码如下,猜数字,作用是输入不是整型的时候提示输入整型
import random
times = 8
secret = random.randint(1,10)
temp = input('输入一个数字')
guess = int(temp) #是这一行的错误原因
while not temp.isdigit():
temp = input('抱歉,请输入整数')
guess = int(temp)
while guess != secret and times > 0:
times = times - 1
temp = input('猜错啦,请重新输入')
guess = int(temp)
if guess == secret:
print('恭喜您,答对了')
else:
if guess > secret:
print('大了大了')
else:
print('小了小了')
if times > 0:
print("再试一次把 ",end="")
else:
print('机会用光了')
print('游戏结束,不玩了')
当我输入为 小数时提示错误
Traceback (most recent call last):
File "/Users/a123/Documents/联系5.py", line 5, in <module>
guess = int(temp)
ValueError: invalid literal for int() with base 10: '1.1'
我想知道。 guess = int(temp) 不是给guess 赋值吗(赋的值为temp变为整型),为什么temp的数值类型好像也变为整型了‘
1. temp = input('输入一个数字') #通过input()函数录入的数据均是字符型
>>> temp
'1.1'
>>> type(temp)
<class 'str'>
2. int()函数无法处理浮点型、字母这些类型的数据
>>> int('1.1')
ValueError: invalid literal for int() with base 10: '1.1'
>>> int('a')
ValueError: invalid literal for int() with base 10: 'a'
>>> int('3')
3
|
|