这是我应该做的: 在图书馆员练习中,您要求用户提供五个姓氏,然后按排序顺序打印这些名字的列表。
在本练习中,您将要求用户输入五个全名。您仍应按排序顺序打印姓氏列表。
每次从用户检索名称时,都应该使用split方法和正确的索引来提取姓氏。然后,您可以将姓氏添加到最终要排序和打印的姓氏列表中。
这是程序的示例运行:
Name: Maya Angelou
Name: Chimamanda Ngozi Adichie
Name: Tobias Wolff
Name: Sherman Alexie
Name: Aziz Ansari
['Adichie', 'Alexie', 'Angelou', 'Ansari', 'Wolff']
这是我现在的代码:
name_1 = input("Name: ")
name_1.split()
name_2 = input("Name: ")
name_2.split()
name_3 = input("Name: ")
name_3.split()
name_4 = input("Name: ")
name_4.split()
name_5 = input("Name: ")
name_5.split()
my_list = [name_1[-1], name_2[-1], name_3[-1], name_4[-1], name_5[-1]]
my_list.sort()
print my_list
我的代码现在仅打印最后一个字母,而不打印最后一个单词。如何获取我的代码以打印最后一个字?
答案 0 :(得分:0)
您的问题是对仅使用该字符串的最后一个字母的字符串执行some_string [-1]。解决方案是在字符串上使用some_string.split()将其按空间划分为值列表,然后使用some_list [-1]获取该列表的最后一个元素。
names_list = []
for i in range(0, 5):
names_list.append(input("Name: "))
sorted_last_names = sorted([name.split()[-1] for name in names_list])
print(sorted_last_names)