我应该编写一个程序,询问用户姓名和出生年月,然后用正确格式的句子输出姓名和年龄。
它本来应该像hello,xoxo, you are 15 years old
那样出现,但是却说:
Traceback (most recent call last):
File "main.py", line 4, in <module>
print("Hello,"),Name,"you are"(int(2019)-int(birth),"years old")
TypeError: 'str' object is not callable
答案 0 :(得分:1)
此错误的原因是您正在“调用”字符串(文本)对象。这意味着您正在使用语法来调用一个函数,但是带有一个字符串:即在其后键入括号,如"your are"(int(2019)-int(birth),"years old")
部分中所示。如果您正在调用一个函数,例如'print ()',但如果前一项是字符串,则不会。
此行的正确版本为:
print("Hello,", Name, "you are", 2019 - int(birth), "years old")
(请注意,我已将int(2019)
替换为2019
,因为这是多余的-python可以算出2019是一个整数,而无需将其显式转换为整数。我还在之后删除了右括号print("Hello,"
,以确保打印出整行,并添加一些空格以增强可读性。)