Python 程序一直在说';str';对象不可调用

Python 程序一直在说';str';对象不可调用,python,Python,我应该写一个程序,询问用户他们的名字和出生年份,然后他们在一个格式正确的句子中输出他们的名字和年龄 本来应该是这样的,例如,你好,xoxo,你已经15岁了,但是它说: 回溯(最近一次呼叫最后一次): 文件“main.py”,第4行,在 打印(“你好”,姓名,“你是”(int(2019)-int(出生),“岁”) TypeError:“str”对象不可调用 此错误的原因是您正在“调用”字符串(文本)对象。这意味着您使用的是调用函数的语法,但带有一个字符串:即在其后面键入括号,如中的“your ar

我应该写一个程序,询问用户他们的名字和出生年份,然后他们在一个格式正确的句子中输出他们的名字和年龄

本来应该是这样的,例如,你好,xoxo,你已经15岁了,但是它说:

回溯(最近一次呼叫最后一次):
文件“main.py”,第4行,在
打印(“你好”,姓名,“你是”(int(2019)-int(出生),“岁”)
TypeError:“str”对象不可调用

此错误的原因是您正在“调用”字符串(文本)对象。这意味着您使用的是调用函数的语法,但带有一个字符串:即在其后面键入括号,如
中的“your are”(int(2019)-int(birth),“yeard”)
部分。如果您正在调用函数,例如“print()”,则这是正确的,但如果前面的项是字符串,则不正确

该行的正确版本为:

print(“你好”,姓名,“你是”,2019年-int(出生),“岁”)

(请注意,我已将
int(2019)
替换为
2019
,因为这是多余的-python可以计算出2019是一个整数,而无需显式地将其转换为1。我还删除了
print(“Hello,”
后的右括号,以确保打印整行,并添加了一些空格以增强可读性。)

我们无法不看到更多的代码,因此请提出您的问题并添加它。请查阅有关
print
命令的培训材料。您还没有掌握命令语法。我想您需要的是
print(“Hello”,Name,“You are”,2019出生,“yeard”)
错误是由于您的非法语法
“您是”(…)
。字符串常量后面的括号是非法的。