课程咨询热线
131-6601-8203
# 学生成绩管理系统
students = [] # 存储学生信息的列表
def add_student():
"""添加学生信息"""
name = input("请输入学生姓名:")
score = int(input("请输入学生成绩:"))
student = {"name": name, "score": score}
students.append(student)
print(f"学生{name}添加成功!")
def show_students():
"""显示所有学生信息"""
if len(students) == 0:
print("暂无学生信息!")
else:
print("学生信息如下:")
for student in students:
print(f"姓名:{student['name']},成绩:{student['score']}")
def calculate_average():
"""计算平均成绩"""
if len(students) == 0:
print("暂无学生信息,无法计算平均分!")
return
total = 0
for student in students:
total += student["score"]
average = total / len(students)
print(f"平均成绩为:{average:.2f}")
def find_student():
"""查找学生信息"""
name = input("请输入要查找的学生姓名:")
for student in students:
if student["name"] == name:
print(f"找到学生:{student['name']},成绩:{student['score']}")
return
print(f"未找到学生{name}")
def main():
"""主函数"""
while True:
print("\n===== 学生成绩管理系统 =====")
print("1. 添加学生")
print("2. 显示所有学生")
print("3. 计算平均成绩")
print("4. 查找学生")
print("5. 退出系统")
choice = input("请选择操作(1-5):")
if choice == "1":
add_student()
elif choice == "2":
show_students()
elif choice == "3":
calculate_average()
elif choice == "4":
find_student()
elif choice == "5":
print("感谢使用,再见!")
break
else:
print("输入错误,请重新选择!")
# 程序入口
if __name__ == "__main__":
main()
students = [] # 存储学生信息的列表
students是一个空列表,用于存储学生信息name(姓名)和score(成绩)两个键
def add_student():
name = input("请输入学生姓名:")
score = int(input("请输入学生成绩:"))
student = {"name": name, "score": score}
students.append(student)
print(f"学生{name}添加成功!")
input()函数获取用户输入int()将输入的字符串转换为整数{}创建字典,存储学生信息append()将学生信息添加到列表中f-string格式化输出
def show_students():
if len(students) == 0:
print("暂无学生信息!")
else:
print("学生信息如下:")
for student in students:
print(f"姓名:{student['name']},成绩:{student['score']}")
len(students)获取列表长度for循环遍历所有学生student['name']访问字典中的值
def calculate_average():
if len(students) == 0:
print("暂无学生信息,无法计算平均分!")
return
total = 0
for student in students:
total += student["score"]
average = total / len(students)
print(f"平均成绩为:{average:.2f}")
return提前结束函数执行total += student["score"]累加所有成绩average = total / len(students)计算平均值:.2f保留两位小数
def find_student():
name = input("请输入要查找的学生姓名:")
for student in students:
if student["name"] == name:
print(f"找到学生:{student['name']},成绩:{student['score']}")
return
print(f"未找到学生{name}")
def main():
while True:
print("\n===== 学生成绩管理系统 =====")
print("1. 添加学生")
print("2. 显示所有学生")
print("3. 计算平均成绩")
print("4. 查找学生")
print("5. 退出系统")
choice = input("请选择操作(1-5):")
if choice == "1":
add_student()
elif choice == "2":
show_students()
elif choice == "3":
calculate_average()
elif choice == "4":
find_student()
elif choice == "5":
print("感谢使用,再见!")
break
else:
print("输入错误,请重新选择!")
while True:无限循环,直到用户选择退出if-elif-else多分支选择结构break跳出循环,结束程序
if __name__ == "__main__":
main()
main()函数
# 错误代码
score = input("请输入成绩:")
total += score # 报错:不能将字符串和整数相加
# 正确代码
score = int(input("请输入成绩:"))type()函数检查变量类型print()输出中间结果
# 错误代码
print(student[name]) # 报错:name未定义
# 正确代码
print(student['name'])student.keys()查看所有键
# 错误代码
students = []
print(students[0]) # 报错:列表为空
# 正确代码
if len(students) > 0:
print(students[0])len()检查列表长度try-except捕获异常
# 错误代码:无法正确查找学生
for student in students:
if student["name"] == name:
print("找到学生")
else:
print("未找到学生") # 每次循环都会输出
# 正确代码
found = False
for student in students:
if student["name"] == name:
print("找到学生")
found = True
break
if not found:
print("未找到学生")print()在关键位置输出调试信息
def calculate_average():
print("进入calculate_average函数")
print(f"students长度:{len(students)}")
total = 0
for student in students:
print(f"当前学生:{student}")
total += student["score"]
print(f"当前总分:{total}")
average = total / len(students)
print(f"平均分:{average}")
return average
try:
score = int(input("请输入成绩:"))
except ValueError:
print("输入错误,请输入数字!")
score = 0
国际竞赛 · AMC8 / AMC10 / IB / IGCSE / AP / A-Level · 留学规划
客服随时在线,欢迎拨打犀牛教育官方联系电话咨询课程
微信咨询
微信扫一扫