我正在测试语句和我是否遇到了这种困境。我不明白我做错了什么,以及为什么它需要一个字符串而不是一个整数。这是我的代码。
# If the entered age was over 21 print "have a drink" otherwise print the other one.
age = input(int("what's your age?:\n\t"))
if age >= 21 :
print("have a drink")
else:
print("you're just a lad!")
答案 0 :(得分:1)
当你有嵌套的函数调用时,它们会从里到外执行,每个结果都作为包含它的下一个结果的参数。所以:
age = input(int("what's your age?:\n\t"))
相当于:
temp = int("what's your age?:\n\t")
age = input(temp)
以这种方式编写时,您可以看到赋予input()
的参数是int()
返回的整数。另外,你给int()
的参数不是可以有意义地转换为整数的东西。
正确的语法是:
age = int(input("what's your age?:\n\t"))
首先调用input()
,然后将响应转换为整数。