hewei130 发表于 2021-4-29 03:05:33

请各位同学帮忙看下这个是哪里出了问题


age = input("请输入你的年龄:")
guess= int(age)
if age >= 18:
    print("你已经成年^o^")
else:
    print("对不起,你还未成年T_T")
老师,这个是我写的作业代码,但我开始运行,就显示:
请输入你的年龄:19
Traceback (most recent call last):
File "C:/Users/Administrator.PC-201909181010/Desktop/py学习程序/第六讲练习2.py", line 3, in <module>
    if age >= 18:
TypeError: '>=' not supported between instances of 'str' and 'int'
请问这是什么原因造成的呢?

kogawananari 发表于 2021-4-29 03:55:53

它不是有提示吗 line 3有错

洋洋痒 发表于 2021-4-29 05:47:32

把第三行的age改成guess就好了,
guess= int(age)这句话是把age强转成整数再赋值给guess,但是age还是字符串不变的

jule_2 发表于 2021-4-29 08:45:30


age = input("请输入你的年龄:")
guess= int(age)
if guess >= 18:
    print("你已经成年^o^")
else:
    print("对不起,你还未成年T_T")


ruoshuisanqian 发表于 2021-4-29 09:08:18

注意查看报凑类型:str和int两种类型

私はり 发表于 2021-4-29 15:38:16

你的第三行使用 age和 18 比较 age是str类型 18是int型 不能比较
guess=int(age)就是将age装换为int型
所以要用guess和18比较

woshiamaola 发表于 2021-4-29 17:10:31

报错的原因:类型错误
input输入的是字符串
18是整形
这两个不是同一个类型

age = int(input("请输入你的年龄:"))

qweeeef 发表于 2021-4-29 19:34:00

if age >=18 改成
if guess>=18

江湖散人 发表于 2021-4-29 22:20:29

age = input("请输入你的年龄:")
guess= int(age)

把上边两句改成:age=int(input("请输入你的年龄:"))就可以了

supercoolman 发表于 2021-4-29 22:27:17

input()函数返回类型是字符串?

hewei130 发表于 2021-4-30 01:21:33

我已经明白,谢谢各位大神的回复{:5_92:}
页: [1]
查看完整版本: 请各位同学帮忙看下这个是哪里出了问题