超级CM09 发表于 2020-7-9 11:45:38

python

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

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'

Twilight6 发表于 2020-7-9 16:46:44



imput 函数是接收用户输入,并将值转换为字符串

int 函数是将其他类型的值转化为整型(整数)

而你如果输入的数不是纯字符串,就会导致报错,因为假设你输入的是一个汉字,而 int 函数如何将函数转化为整数呢? 所以肯定会报错了~

没事,学到后面你会学到字符串方法,到时候用字符串方法来判断然后过滤下就好了


liuzhengyuan 发表于 2020-7-9 18:52:21

本帖最后由 liuzhengyuan 于 2020-7-9 19:05 编辑

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

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

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

青出于蓝 发表于 2020-7-9 20:37:58

本帖最后由 青出于蓝 于 2020-7-9 20:40 编辑

因为int只能将字符串编程整形。输入字母或汉子空格等非数字的话,会报错,这是int语法。

我真的是个好人 发表于 2020-7-10 21:18:16

这样说吧,不行的,因为int函数是将一个字符串或一个浮点数转译成整数。简单来说就是把盒子里的整数取出来,但是如果这个字符串里是一个浮点数就会报错,因为int既可以把字符串转译成整形,又可以把浮点数转译成整形,所以不行,反正记住不行就对了,至于有没有办法让他输入小数呢?也许有,但是我不知道{:10_266:}

xiyi2 发表于 2020-7-10 21:21:09

我真的是个好人 发表于 2020-7-10 21:18
这样说吧,不行的,因为int函数是将一个字符串或一个浮点数转译成整数。简单来说就是把盒子里的整数取出来 ...

用float就可以了

我真的是个好人 发表于 2020-7-10 21:24:11

xiyi2 发表于 2020-7-10 21:21
用float就可以了

嗷,看来碰见大佬了{:10_297:}

临时号 发表于 2020-8-1 17:31:37

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]
查看完整版本: python