非常感谢您阅读我的第一篇文章。
开始学习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')
答案 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()
中输入任何非数字字符作为输入时,这将引发其他错误。因为您不能将非数字字符强制转换为整数。