我正在努力完成涉及使用 python 3 语言的第一项家庭作业。 目前我应该通过将变量my_name和my_age传递到make_introduction()函数中来创建变量my_intro。创建变量后打印变量。我当前收到错误消息: 类型错误回溯(上次调用的最近一次) 在 ----> 1 my_intro = make_introduction(my_name, my_age) 2 打印(my_intro)
类型错误:"str"对象不可调用
我正在Jupyter Notebook上做功课,并相信我可能的问题可能在于我必须在作业中运行的前一行代码。
我已经尝试了几种不同的编码选项,包括在my_age之前使用 str 参数
为我的年龄编码的行
# create a variable stating my age
my_age = 24
print(my_age)
我问题之前的那条线
make_introduction = "Hello, my name is, " + my_name + " and I'm " + str(my_age) + " years old."
print(make_introduction)
显示错误的行
my_intro = make_introduction(my_name, my_age)
print(my_intro)
我希望输出的内容类似于Hello,我的名字是Kaitlyn Griffith,我今年24岁。
但是我看到的是:str 对象不可调用
以下行创建一个变量:
make_introduction = "Hello, my name is, " + my_name + " and I'm " + str(my_age) + " years old."
你需要的是一个函数。它应该看起来像:
def make_introduction(my_name, my_age):
return "Hello, my name is, " + my_name + " and I'm " + str(my_age) + " years old."
函数是可调用的(例如make_introduction('Diego', 32)
)。通过可调用,这意味着您可以在对象名称后附加()
。
因此,您的完整示例可能如下所示:
my_age, my_name = 24, 'Mike'
# Function declaration begins in the following line
def make_introduction(my_name, my_age):
return "Hello, my name is, " + my_name + " and I'm " + str(my_age) + " years old."
# Function declaration ended in previous line (Note: the `:` and indentation)
my_intro = make_introduction(my_name, my_age) # This line captures the function output into my_intro
print(my_intro)