You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何传入集合参数打印字典中对应缺勤学生的姓名与学号

问题需求

你已经构建了键为学生姓名、值为对应学号的class_details字典,缺勤学生的姓名存储在absent_set集合中,现有代码仅能打印缺勤学生姓名,需要调整为同时输出缺勤学生的学号和姓名。

代码调整方案

仅需两处修改即可实现需求:

  1. 将class_details字典的生成逻辑移动到打印缺勤信息的代码之前,保证打印时可以正常调用该字典
  2. 把原来仅打印缺勤姓名的逻辑,改为遍历排序后的缺勤名单,逐个取出对应学号后拼接打印
修改后完整代码
import pandas as pd
df = pd.DataFrame({'Roll num': [17013001,17013002,17013003,17013004,17013005,17013006,17013007,17013008,17013009,17013010,17013011,17013012,17013013,17013014,17013015,17013016,17013017,17013018,17013019,17013020,17013021,17013022,17013023,17013024,17013025,17013026,17013027,17013028,17013029,17013030,17013201,18013024,18013025,18013026,18013027,18013028,18013029,18013030,18013031,18013032,18013033,18013034,18013035,18013036,18013037,18013038,18013039,18013040,18013041,18013042,18013043,18013044], 
               'Name': ['Anjali Saini', 'Anjali Srivastava', 'Ayushi Solanki', 'Bhawana Saroha', 'Ekta Joshi', 'Harshita Virodhiya', 'Harshita Sehrawat', 'Monika Tehlan', 'Mudita Shiromani', 'Muskan Chahar', 'Neelam Chahal', 'Neeru Bhardwaj', 'Neha Yadav', 'Nishu Rathi', 'Pallavi Singh', 'Pragya Tomar', 'Punerva', 'Saumya Singh', 'Shagun Rana', 'Shaily Bavra', 'Sheena Goyal', 'Shipra Gaur', 'Shivani Pawriya', 'Shiwani Sihan', 'Sonam Bhardwaj', 'Sonika Singh', 'Srishti Rajbhar', 'Sujata', 'Ujjawal Tyagi', 'Vishwa Rana', 'Shalu Yadav', 'Aparna Singh', 'Bharti Kaushik', 'Deepika Yadav', 'Gunika Mehra', 'Heena Saini', 'Himanshi Singh', 'Kajal Rajput', 'Anshu Tomar', 'Krishna Aggarwal', 'Kusum Kundu', 'Monika Kushwaha', 'Monika Shira', 'Neha Kardam', 'Nisha Pahal', 'Osheen Kamboj', 'Preeti Deshwal', 'Priyanka Sharma', 'Renu Malik', 'Renu Bisht', 'Sonia Kadyan', 'Swati Arya']})
class_list = df['Name']
class_set = set(class_list)  
present = pd.DataFrame({'Attendees': ['Anshu Tomar','Aparna Singh','Ayushi Solanki','Bharti Kaushik','Bhawana Saroha','Deepika Yadav','Harshita Sehrawat','Harshita Virodhiya','Heena Saini','Kajal Rajput','Krishna Aggarwal','Kusum Kundu','Monika Shira','Mudita Shiromani','Muskan Chahar','Neha Kardam','Neha Yadav','Nisha Pahal','Nishu Rathi','Pragya Tomar','Preeti Deshwal','Punerva','Renu Bisht','Renu Malik','Saumya Singh','Shaily Bavra','Shalu Yadav','Sheena Goyal','Shivani Pawriya','Sonam Bhardwaj','Sonia Kadyan','Sonika Singh','Sujata','Swati Arya','Ujjawal Tyagi','bala suthar']})
present_list = present['Attendees']
present_set = set(present_list)
pres = len(present_set)
pres_num = pres - 1 # 减去教职工的冗余计数
abs_num = 52 - pres_num # 班级总人数为52
 
absent_set = class_set - present_set
# 提前生成学生姓名-学号映射字典
class_details = df.set_index('Name')['Roll num'].to_dict()

print("5月27日Java课程考勤结果")
print("出勤人数:", pres_num) 
print("缺勤人数:", abs_num)
print("缺勤学生信息(学号 姓名):")
for name in sorted(absent_set):
    print(f"{class_details[name]} {name}")
输出效果

运行代码后缺勤部分的输出如下:

缺勤学生信息(学号 姓名):
17013001 Anjali Saini
17013002 Anjali Srivastava
17013005 Ekta Joshi
18013027 Gunika Mehra
18013029 Himanshi Singh
18013035 Monika Kushwaha
17013008 Monika Tehlan
17013011 Neelam Chahal
17013012 Neeru Bhardwaj
18013040 Osheen Kamboj
17013015 Pallavi Singh
18013042 Priyanka Sharma
17013019 Shagun Rana
17013022 Shipra Gaur
17013024 Shiwani Sihan
17013027 Srishti Rajbhar
17013030 Vishwa Rana

内容的提问来源于stack exchange,提问作者Saumya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 01:06:04