Python实现学生考勤系统:自动统计并导出考勤数据
zd={'2221201', '2221202', '2221203', '2221204', '2221205'}
zd_1=dict.fromkeys(zd,0)
while True:
yhsr=str(input('请输入七位学号(exit,quit):'))
if yhsr=='quit'or yhsr=='exit':
print('*'*20+'结束'+'*'*20)
for a,b in zd_1.items():
print(a,b)
with open('kaoqin.txt', 'w') as file:
for a,b in zd_1.items():
file.write(f'{a}:{b}\n')
break
if (yhsr not in zd_1):
yhsr_2=str(input('确定要登入吗(yes/no)'))
if yhsr_2=='yes':
zd_1[yhsr]=1
else:
print('不录入无需操作')
else:
zd_1[yhsr]=zd_1[yhsr]+1
print('已在考勤表中')
这段代码实现了一个简单的学生考勤系统,主要功能包括:
- 初始化学生学号列表和考勤记录: 代码首先定义了一个包含所有学生学号的集合
zd,然后使用dict.fromkeys(zd, 0)创建一个字典zd_1,用于存储每个学生的考勤次数,初始值为0。 - 循环获取用户输入: 使用
while True语句循环获取用户输入的学号。 - 处理用户输入:
- 如果用户输入 'exit' 或 'quit',则程序打印结束提示信息,并将考勤数据写入 'kaoqin.txt' 文件,最后退出程序。
- 如果用户输入的学号不在预设的学号列表中,则提示用户是否确认登入。如果确认,则将该学号添加到考勤记录中,并将考勤次数设置为1。
- 如果用户输入的学号已存在于考勤记录中,则将该学号对应的考勤次数加1,并提示“已在考勤表中”。
- 导出考勤数据: 程序结束运行时,会自动将字典
zd_1中的考勤数据写入到名为 'kaoqin.txt' 的文件中,文件内容格式为:学号:考勤次数。
使用示例:
假设用户输入以下学号:
2221201
2221203
2221201
2221206 (用户选择不登入)
exit
最终 'kaoqin.txt' 文件中的内容为:
2221201:2
2221202:0
2221203:1
2221204:0
2221205:0
原文地址: http://www.cveoy.top/t/topic/b32I 著作权归作者所有。请勿转载和采集!