提交 d522ad97 编写于 作者: 11点睡觉498's avatar 11点睡觉498

生产代码片段

上级 2eebcf6c
print('欢迎来到 InsCode')
\ No newline at end of file
# 定义学生类
class Student:
def __init__(self, id, name, score):
self.id = id
self.name = name
self.score = score
def __str__(self):
return f'{self.id}\t{self.name}\t{self.score}'
# 定义学生列表
students = []
# 输入学生信息
def input_student():
while True:
id = input('请输入学号(输入0结束):')
if id == '0':
break
name = input('请输入姓名:')
score = float(input('请输入成绩:'))
student = Student(id, name, score)
students.append(student)
# 显示学生信息
def show_students():
print('学号\t姓名\t成绩')
for student in students:
print(student)
# 根据学号查找学生
def find_student_by_id(id):
for student in students:
if student.id == id:
return student
return None
# 根据姓名查找学生
def find_student_by_name(name):
result = []
for student in students:
if student.name == name:
result.append(student)
return result
# 根据成绩排序学生
def sort_students_by_score():
students.sort(key=lambda student: student.score, reverse=True)
# 修改学生信息
def modify_student():
id = input('请输入要修改的学生学号:')
student = find_student_by_id(id)
if student is None:
print('未找到该学生!')
return
password = input('请输入密码:')
if password != '123456':
print('密码错误!')
return
name = input('请输入姓名:')
score = float(input('请输入成绩:'))
student.name = name
student.score = score
# 主函数
def main():
while True:
print('1.输入学生信息')
print('2.显示学生信息')
print('3.根据学号查找学生')
print('4.根据姓名查找学生')
print('5.根据成绩排序学生')
print('6.修改学生信息')
print('0.退出')
choice = input('请输入功能编号:')
if choice == '1':
input_student()
elif choice == '2':
show_students()
elif choice == '3':
id = input('请输入学号:')
student = find_student_by_id(id)
if student is None:
print('未找到该学生!')
else:
print(student)
elif choice == '4':
name = input('请输入姓名:')
students = find_student_by_name(name)
if len(students) == 0:
print('未找到该学生!')
else:
for student in students:
print(student)
elif choice == '5':
sort_students_by_score()
show_students()
elif choice == '6':
modify_student()
elif choice == '0':
break
else:
print('输入错误,请重新输入!')
if __name__ == '__main__':
main()
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册