如何打印代码8.4.4中的名称:多少个名称?

2024-09-26 17:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我应该做的:

这个练习的第一部分和第一部分一样有多少个名字?在控制流模块中。在

有些人只有名字和姓氏。有些人也有中间名。有些人有五个中间名。在

编写一个程序,询问用户有多少个名字。(例如,如果他们有一个名字、两个中间名和一个姓,他们会键入4。)然后,使用for循环,向用户询问他们的每个名字。把名字储存在一个列表里。在

然后,使用slices分别打印此人的名字、中间名和姓氏。在

程序的示例运行如下所示:

Number of names: 4
Name: Nora
Name: Stanton
Name: Blatch
Name: Barney
First name: Nora
Middle name(s): ['Stanton', 'Blatch']
Last name: Barney
Your program should work regardless of how many middle names the person has!

提示

索引-1可能会在一些地方派上用场。 您需要使用str函数来打印中间名。在

我找到了这个问题的正确答案。这里是:

^{pr2}$

Tags: 模块of用户name程序键入names名字
1条回答
网友
1楼 · 发布于 2024-09-26 17:55:20

你的问题在这一行:

print "Middle names: " + namelist[1:-1]

当你有一个以上的中间名namelist[1:-1]将是一个至少2个长的列表。在这一行中使用的+试图将字符串"Middle Names: "与列表["middlename1","middlename2"]连接起来,而Python不知道在这里做什么,因此它引发了异常:

TypeError: cannot concatenate 'str' and 'list' objects

要解决这个问题并获得中间名(Middle name(s): ['Stanton', 'Blatch'])的格式,您需要告诉python将列表转换为带有str()的字符串,因此您的行应该是:

^{pr2}$

这将迫使python将您的列表转换为可以连接和打印的字符串。在

相关问题 更多 >

    热门问题