应将学生分类到类中的代码出错

2024-05-14 08:25:41 发布

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

准则的目的:

编写一个程序,获取学生姓名列表并对其进行排序以创建一个班级名单。名单将在一行中用空格隔开。学生的名字总是用大写(第一个字母大写,其余的用小写)

它必须按字母顺序排序

必须输出的内容:

Students: Peng Ivan Alan Jodi Macy
Class Roll
Alan
Ivan
Jodi
Macy
Peng

我的代码:

names = input('Students: ')
print('Class Roll')
output = names.sort()
print(output)

我对编程相当陌生


Tags: names排序字母学生classprintrollalan
3条回答

您需要将输入拆分为空格字符,然后对结果列表进行排序

另外,sort()方法修改列表,它不返回新列表

如果你打印一个列表,它会打印在一行上,用方括号括起来,用引号括起来。如果你想在自己的行上打印每个名字,你必须循环

names = input('Students: ').split()
names.sort()
print("Class Roll")
for name in names:
    print(name)

这应该可以,当您输入“完成”时,它将打印:

list_names = []
while True:
   a = input("Enter a name: ")
   if a == "done" or a == "Done" or a == "DONE":
        list_names.sort()
        print(list_names)
   else:
        list_names.append(a)

您可以使用以下代码生成该输出:

names = input('Students: ')
print('Class Roll')
output = sorted(names.split())
print(*output, sep='\n')

注意两件事,*output使用的是解包列表中的元素,而我使用的参数sep允许您选择要打印的元素的分隔符。换言之,输出中的每个元素都由新行分隔

相关问题 更多 >

    热门问题