以下是一个可以实现你要求的 Python 代码,它能根据学号或姓名查找学生信息,并允许输入成绩,最后将信息保存到 Excel 文件:

import xlwt  # 用于写入 xls 文件

# 学生名单,包含姓名、学号和序号
students = [
    {'name': '张三', 'id': '001', 'number': 1},
    {'name': '李四', 'id': '002', 'number': 2},
    {'name': '王五', 'id': '003', 'number': 3},
    {'name': '赵六', 'id': '004', 'number': 4},
]

# 输入学号或姓名
search_key = input('请输入学号或姓名:')

# 检索学生
result = []
for student in students:
    if search_key in student['name'] or search_key == student['id']:
        result.append(student)

# 输出查询结果
if len(result) == 0:
    print('没有找到对应的学生')
elif len(result) == 1:
    student = result[0]
    print('姓名:', student['name'])
    print('学号:', student['id'])
else:
    print('找到多个学生,请选择:')
    for i, student in enumerate(result):
        print(i+1, ':', student['name'], student['id'])
    choice = int(input()) - 1
    student = result[choice]
    print('姓名:', student['name'])
    print('学号:', student['id'])

# 输入成绩
score = input('请输入成绩:')

# 保存为 xls 文件
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('成绩单')
worksheet.write(0, 0, '姓名')
worksheet.write(0, 1, '学号')
worksheet.write(0, 2, '成绩')
worksheet.write(1, 0, student['name'])
worksheet.write(1, 1, student['id'])
worksheet.write(1, 2, score)
workbook.save('成绩单.xls')

上述代码首先定义了一个学生名单,包含了每个学生的姓名、学号和序号。接着通过 input() 函数获取用户输入的学号或姓名,然后遍历学生名单,找到符合条件的学生,并输出学号和姓名。如果找到多个学生,需要让用户选择一个。之后通过 input() 函数获取用户输入的成绩,并将学生的姓名、学号和成绩保存为 xls 文件。

需要注意的是,上述代码并没有对输入的学号或姓名进行完整性检查。如果需要实现这个功能,可以在遍历学生名单之前先对输入的字符串进行处理,例如将学号转换为固定长度的字符串,然后再进行比较。

代码功能:

  1. 输入学号或姓名: 代码使用 input() 函数从用户获取学号或姓名。
  2. 查找学生: 代码遍历学生名单,寻找与输入值匹配的学生信息。
  3. 处理多个结果: 如果找到多个匹配的学生,代码会提示用户选择。
  4. 输入成绩: 代码使用 input() 函数从用户获取学生的成绩。
  5. 保存到 Excel 文件: 代码使用 xlwt 库将学生信息和成绩保存到 Excel 文件中。

代码优化建议:

  1. 增加输入验证: 可以对用户输入的学号或姓名进行格式检查,确保其符合要求。
  2. 使用更友好的用户界面: 可以使用图形界面库,例如 Tkinter 或 PyQt,来创建更友好的用户界面。
  3. 考虑使用数据库: 如果数据量较大,可以使用数据库来存储学生信息,可以提高代码的效率和可维护性。

代码使用说明:

  1. 确保安装了 xlwt 库。可以使用 pip install xlwt 命令安装。
  2. 运行代码,输入学号或姓名进行查找。
  3. 选择一个学生,并输入成绩。
  4. 代码会将学生信息和成绩保存到名为 '成绩单.xls' 的 Excel 文件中。

原文地址: https://www.cveoy.top/t/topic/nfHf 著作权归作者所有。请勿转载和采集!

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