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('已在考勤表中')

这段代码实现了一个简单的学生考勤系统,主要功能包括:

  1. 初始化学生学号列表和考勤记录: 代码首先定义了一个包含所有学生学号的集合 zd,然后使用 dict.fromkeys(zd, 0) 创建一个字典 zd_1,用于存储每个学生的考勤次数,初始值为0。
  2. 循环获取用户输入: 使用 while True 语句循环获取用户输入的学号。
  3. 处理用户输入:
    • 如果用户输入 'exit' 或 'quit',则程序打印结束提示信息,并将考勤数据写入 'kaoqin.txt' 文件,最后退出程序。
    • 如果用户输入的学号不在预设的学号列表中,则提示用户是否确认登入。如果确认,则将该学号添加到考勤记录中,并将考勤次数设置为1。
    • 如果用户输入的学号已存在于考勤记录中,则将该学号对应的考勤次数加1,并提示“已在考勤表中”。
  4. 导出考勤数据: 程序结束运行时,会自动将字典 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录