这就是我应该做的:
这个练习的第一部分和第一部分一样有多少个名字?在控制流模块中。在
有些人只有名字和姓氏。有些人也有中间名。有些人有五个中间名。在
编写一个程序,询问用户有多少个名字。(例如,如果他们有一个名字、两个中间名和一个姓,他们会键入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}$
你的问题在这一行:
当你有一个以上的中间名
namelist[1:-1]
将是一个至少2个长的列表。在这一行中使用的+
试图将字符串"Middle Names: "
与列表["middlename1","middlename2"]
连接起来,而Python不知道在这里做什么,因此它引发了异常:TypeError: cannot concatenate 'str' and 'list' objects
要解决这个问题并获得中间名(
^{pr2}$Middle name(s): ['Stanton', 'Blatch']
)的格式,您需要告诉python将列表转换为带有str()
的字符串,因此您的行应该是:这将迫使python将您的列表转换为可以连接和打印的字符串。在
相关问题 更多 >
编程相关推荐