鱼C论坛

 找回密码
 立即注册
查看: 1601|回复: 7

python

[复制链接]
发表于 2020-7-9 11:45:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-9 16:46:44 | 显示全部楼层


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

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

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

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


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-9 18:52:21 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-7-9 19:05 编辑

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

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

但是如果用户输入的不是数字,就无法转换成功,所以 python 就报错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-9 20:37:58 | 显示全部楼层
本帖最后由 青出于蓝 于 2020-7-9 20:40 编辑

因为int只能将字符串编程整形。输入字母或汉子空格等非数字的话,会报错,这是int语法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 21:18:16 | 显示全部楼层
这样说吧,不行的,因为int函数是将一个字符串或一个浮点数转译成整数。简单来说就是把盒子里的整数取出来,但是如果这个字符串里是一个浮点数就会报错,因为int既可以把字符串转译成整形,又可以把浮点数转译成整形,所以不行,反正记住不行就对了,至于有没有办法让他输入小数呢?也许有,但是我不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

用float就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 21:24:11 | 显示全部楼层
xiyi2 发表于 2020-7-10 21:21
用float就可以了

嗷,看来碰见大佬了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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("游戏结束了")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 17:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表