通过传递多个变量(数字和字符串)来创建新变量

问题描述 投票:0回答:1

我正在努力完成我的第一个家庭作业,包括使用python 3语言。目前我应该通过将变量my_name和my_age传递给make_introduction()函数来创建变量my_intro。创建变量后打印变量。我目前收到错误消息:TypeError Traceback(最近一次调用最后一次)在----> 1 my_intro = make_introduction(my_name,my_age)2 print(my_intro)

TypeError:'str'对象不可调用

我在Jupyter笔记本上做作业,并相信我可能遇到的问题可能在于我必须在作业中运行的前一行代码。

我尝试了几种不同的编码选项,包括在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对象不可调用

python-3.x string variables jupyter-notebook parameter-passing
1个回答
1
投票

以下行创建一个变量:

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)
© www.soinside.com 2019 - 2024. All rights reserved.