请编写一个程序,使用字典存储学生信息,学生信息包含学号和姓名,请根据学生学号从小到大输出学生信息

目录

列表输出

 这一题就可以借助于字典的推导式

通过字典输出的另一种方法


第一种方法

列表输出

dic = {}
i=1
while i >0:
    num = int(input("请输入学生学号:"))
    if num in dic.keys():
        print("已存在,请重新输入")
    elif num == 0:
        break
    else:
        name = input("请输入学生姓名:")
        dic[num]= name   #向字典中添加元素
#以上是字典的输入

list1= list(dic.keys())  #将字典里的key值生成列表
list1 = sorted(list1)  #使用sorted方法对列表排序
for j in range(len(list1)):
    print(list1[j],end = " ")   #循环输出已排好序列表的元素 即学号
    print(dic.get(list1[j]))   #通过学号获取相应的姓名

运行结果展示:

还可以通过字典推导式实现

字典推导式的格式为:{key:value for key,value in exiting_data_structure}

举个例子

good_list = {"牛奶":5,"面包":4,"矿泉水":2,"糖果":2,"辣条":3}
new_good_list={k:v for k,v in good_list.items() if v>=3}
print(new_good_list)

输出结果

 借助字典的推导式

dic = {}
i=1
while i >0:
    num = int(input("请输入学生学号:"))
    if num in dic.keys():
        print("已存在,请重新输入")
    elif num == 0:
        break
    else:
        name = input("请输入学生姓名:")
        dic[num]= name   #向字典中添加元素
#以上是字典的输入
list1= list(dic.keys())  #将字典里的key值生成列表
list1 = sorted(list1)  #使用sorted方法对列表排序

dic1 ={k :v  for k in list1 for x,v in dic.items() if k==x }
print(dic1)

运行结果

运用字典输出的另一种方法

dic = {}
i=1
while i >0:
    num = int(input("请输入学生学号:"))
    if num in dic.keys():
        print("已存在,请重新输入")
    elif num == 0:
        break
    else:
        name = input("请输入学生姓名:")
        dic[num]= name   #向字典中添加元素
#以上是字典的输入
list1= list(dic.keys())  #将字典里的key值生成列表
list1 = sorted(list1)  #使用sorted方法对列表排序

dic2 = {list1[i]:dic.get(list1[i]) for i in range(len(list1))} 
print(dic2)

运行结果

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐