录入并打印名单,用列表元组

录入并打印名单,以学号报名,输入时学号跟随会车,若接受到空字符串,结束录入
录入完成后,对名单进行整理,按升序输出
一个学号一行

可以使用Python的字典来实现这个功能。首先定义一个空的字典,然后通过while循环不断读入学号和姓名,将它们添加到字典中。当读入的学号为空字符串时,跳出循环,再将字典按照键(即学号)升序排序,最后遍历字典,按照格式打印每个学生的学号和姓名。

代码示例:

students = {}
while True:
    # 读入学号和姓名,如果学号为空字符串则结束录入
    sid = input("请输入学号(按回车跳过):")
    if not sid:
        break
    name = input("请输入姓名:")
    # 将学号和姓名添加到字典中
    students[sid] = name

# 按照学号排序
students = dict(sorted(students.items()))

# 打印名单
for sid, name in students.items():
    print(f"{sid}: {name}")

运行示例:

请输入学号(按回车跳过):2021001
请输入姓名:张三
请输入学号(按回车跳过):2021002
请输入姓名:李四
请输入学号(按回车跳过):2021003
请输入姓名:王五
请输入学号(按回车跳过):
2021001: 张三
2021002: 李四
2021003: 王五

望采纳🥰🥰🥰


a = []
while True:
    inp = input('输入学号,回车记录,连续回车结束:')
    if not inp:
        break
    a.append(inp)
print('\n'.join(sorted(a)))

img

该回答引用GPTᴼᴾᴱᴺᴬᴵ
以下是使用 Python 列表和元组实现录入并打印名单的示例代码:

# 录入名单
name_list = []
while True:
    student_id = input("请输入学号(输入空字符串结束录入):")
    if student_id == "":
        break
    name_list.append((student_id, input("请输入姓名:")))

# 按学号升序排序
name_list.sort()

# 打印名单
for student_id, name in name_list:
    print(student_id)


在上面的示例中,name_list 列表用于存储录入的名单数据。while 循环用于不断询问用户输入学号和姓名,直到接受到空字符串为止。每次接受到学号和姓名后,将它们打包成一个元组 (student_id, name),并添加到 name_list 列表中。

完成录入后,使用 name_list.sort() 对名单进行升序排序。

最后,使用 for 循环遍历 name_list 列表中的每个元组 (student_id, name),并打印学号 student_id。注意,由于要求每行只输出一个学号,因此在打印学号时不需要打印姓名。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:具名元组

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^