Python for starters - TypeError:'<' ' str'的实例之间不支持和' int'

时间:2017-07-04 08:52:56

标签: python python-3.x

非常感谢您阅读我的第一篇文章。

开始学习Python 3.6.1 - 陷入困境 - 以下代码出了什么问题:

print('Hi there! What is your name?')
myName = input()
print("Hello "   +  myName +  ' its good to met you. My name is Kendo.')

print('how old are you?')
myAge = input()
if myAge < 15:
    print('go to bed, kiddo')
elif myAge > 95:
    print('Sup, grandma')
elif myAge > 1000:
    print('Lol, stop kidding me')

3 个答案:

答案 0 :(得分:0)

您的输入是一个字符串,您需要将其转换为int才能使用比较运算符。

而不是:

print('how old are you?')
myAge = input()

试试这个:

myAge = int(input('How old are you?')

答案 1 :(得分:0)

问题是您需要整数,但input()返回一个字符串。 您可以使用somrthing将输入转换为int,如下所示:

对于 Python 3.x

myAge  = int(input("Enter a number: "))

Python 2.x

myAge = input("Enter a number: ")
>>>Enter a number: 5 + 17

myAge, type(myAge)
(22, <type 'int'>)

答案 2 :(得分:0)

Input在python 3中返回一个字符串对象。您正在尝试查看字符串是小于还是大于整数。这不起作用。

来自python 3.6文档 https://docs.python.org/3/library/functions.html#input 输入([提示]) 如果存在prompt参数,则将其写入标准输出而不带尾随换行符。然后该函数从输入中读取一行,将其转换为字符串(剥离尾随换行符),然后返回该行。

尝试:

myAge= int(myAge)

但请注意,当您在myAge = input()中输入任何非数字字符作为输入时,这将引发其他错误。因为您不能将非数字字符强制转换为整数。