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

目录

列表输出

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

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


第一种方法

列表输出

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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐