超级CM09 发表于 2020-7-9 11:48:15

pyth

为什么只能输入整数,其他就不行?

print("_-------工作室---------")
guess=int(input("猜一下:"))
if guess == 8:
    print("不错")
    print("猜中也没用")
else:
    print("baibabi")
print("游戏结束了")

————————————————————————
_-------工作室---------
猜一下:8.1
Traceback (most recent call last):
File "D:/python/lianxi/2.py", line 2, in <module>
    guess=int(input("猜一下:"))
ValueError: invalid literal for int() with base 10: '8.1'
>>>
KeyboardInterrupt
>>> int('Pythontab', 10)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
    int('Pythontab', 10)
ValueError: invalid literal for int() with base 10: 'Pythontab'

qiuyouzhi 发表于 2020-7-9 16:49:34

int可以转换字符串为整数(字符串的内容是整数,也就是.isdigit()为True),
也可以转换浮点数(小数)为整数,但不能同时转换。

liuzhengyuan 发表于 2020-7-9 19:06:07

input 默认返回的是一个字符串

由于字符串不能和整数比较,小甲鱼老师就用 int() 把字符串转换为整数

但是如果用户输入的不是数字,就无法转换成功,所以 python 就报错了。

临时号 发表于 2020-8-1 17:35:01

input函数默认返回字符串形式,如:输入8,input函数接收后是"8",int函数的功能就是将它转化成整数,如:给int函数的参数是"8",int函数会转化为8,但"8.1"是小数,int函数无法转化,所以报错,可以把代码改为:
print("_-------工作室---------")
guess=float(input("猜一下:"))
if guess == 8:
    print("不错")
    print("猜中也没用")
else:
    print("baibabi")
print("游戏结束了")
页: [1]
查看完整版本: pyth