用python设计一个选课系统,包括功能:1.创建学生账号;2使用创建的学生账号登陆3.展示课程列表并进行选课;4.展示学生信息,包含所选课程,学生学分等5.退出(请输入序号)。 请用python代码写这个程序
时间: 2024-03-03 21:53:35 浏览: 17
好的,下面是一个简单的选课系统的Python代码实现:
```python
# 定义课程列表和学生列表
courses = ['语文', '数学', '英语', '物理', '化学']
students = []
# 学生类
class Student:
def __init__(self, name, password):
self.name = name
self.password = password
self.courses = []
self.credits = 0
def select_course(self, course):
if course in courses and course not in self.courses:
self.courses.append(course)
self.credits += 2
print('选课成功!')
else:
print('选课失败,请输入正确的课程名称!')
# 创建学生账号
def create_account():
name = input('请输入学生姓名:')
password = input('请输入登录密码:')
student = Student(name, password)
students.append(student)
print('学生账号创建成功!')
# 登录系统
def login():
name = input('请输入学生姓名:')
password = input('请输入登录密码:')
for student in students:
if student.name == name and student.password == password:
return student
print('登录失败,请输入正确的学生姓名和密码!')
return None
# 展示课程列表
def show_courses():
print('课程列表:')
for index, course in enumerate(courses):
print(f'{index+1}. {course}')
# 选课
def select_course(student):
show_courses()
course_index = int(input('请输入要选择的课程编号:'))
course = courses[course_index-1]
student.select_course(course)
# 展示学生信息
def show_student_info(student):
print('学生信息:')
print(f'姓名:{student.name}')
print(f'已选课程:{student.courses}')
print(f'学分:{student.credits}')
# 主程序
while True:
print('欢迎使用选课系统!')
print('1. 创建学生账号')
print('2. 登录系统')
print('3. 选课')
print('4. 查看学生信息')
print('5. 退出')
choice = int(input('请输入要执行的操作编号:'))
if choice == 1:
create_account()
elif choice == 2:
student = login()
if student is not None:
print(f'登录成功,欢迎你,{student.name}!')
elif choice == 3:
if student is not None:
select_course(student)
else:
print('请先登录!')
elif choice == 4:
if student is not None:
show_student_info(student)
else:
print('请先登录!')
elif choice == 5:
print('谢谢使用,再见!')
break
else:
print('请输入正确的操作编号!')
```
这个程序包括了创建学生账号、登录系统、展示课程列表并进行选课、展示学生信息等功能。你可以根据自己的需求修改或拓展这个程序。