请各位同学帮忙看下这个是哪里出了问题
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'
请问这是什么原因造成的呢? 它不是有提示吗 line 3有错 把第三行的age改成guess就好了,
guess= int(age)这句话是把age强转成整数再赋值给guess,但是age还是字符串不变的
age = input("请输入你的年龄:")
guess= int(age)
if guess >= 18:
print("你已经成年^o^")
else:
print("对不起,你还未成年T_T")
注意查看报凑类型:str和int两种类型 你的第三行使用 age和 18 比较 age是str类型 18是int型 不能比较
guess=int(age)就是将age装换为int型
所以要用guess和18比较 报错的原因:类型错误
input输入的是字符串
18是整形
这两个不是同一个类型
age = int(input("请输入你的年龄:")) if age >=18 改成
if guess>=18 age = input("请输入你的年龄:")
guess= int(age)
把上边两句改成:age=int(input("请输入你的年龄:"))就可以了
input()函数返回类型是字符串?
我已经明白,谢谢各位大神的回复{:5_92:}
页:
[1]