零基础学习Python练习过程问题点
本帖最后由 ahzhxy840921 于 2022-10-30 09:36 编辑以下代码,为什么不能输入小数,比如60.5?只能输入整数?int()不就是转换整数的么?求指点!!!
y = input("请输入您的分数:")
x = int(y)
if x == 100:
print("S")
if x >= 90 and x < 100:
print("A")
if x >= 80 and x < 90:
print("B")
if x >= 60 and x < 80:
print("C")
if x < 60 and x > 0:
print("D")
if x < 0 or x > 100:
print("请输入0-100的数字!")
int() 只能转化带有整数的字符串,不能转化带有小数的字符串
>>> int('60')
60
>>> int('60.5')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
int('60.5')
ValueError: invalid literal for int() with base 10: '60.5'
>>> tommyyu 发表于 2022-10-30 09:34
int() 只能转化带有整数的字符串,不能转化带有小数的字符串
int(60.5)
60 本帖最后由 tommyyu 于 2022-10-30 09:43 编辑
ahzhxy840921 发表于 2022-10-30 09:38
int(60.5)
60
可是 input() 返回的是一个字符串>>> x = input()
60.5
>>> x
'60.5'
>>> tommyyu 发表于 2022-10-30 09:34
int() 只能转化带有整数的字符串,不能转化带有小数的字符串
是不是因为我输入的是int(""),有双引号,Python默认我输入的分数为字符串? ahzhxy840921 发表于 2022-10-30 09:40
是不是因为我输入的是int(""),有双引号,Python默认我输入的分数为字符串?
input函数的返回值就是字符串,你输入60.5他就返回'60.5' 在执行 y = input("请输入你的分数:")这一句时,如果输入了 60.5,则 y 的值就是 '60.5'
然后执行x = int(y) ,Python 就会执行 x = int('60.5') , 然后就会报错 input输入返回的就是字符串str,int输入的只能是整数字符串或者整形数字或者浮点型,不能转化带有小数的字符串。
页:
[1]