python1、建立学生信息文件(学号、姓名、python成绩)。 *每个学生从自己的学号开始往后输入五名同学的信息,后面的 同学往前循环。每个学生的信息作为一个记录占文件的一行。 2、设计实现学生注册登录界面(学号、密码)。 3、设计实现学生信息管理界面及功能实现界面(增加、查询、修改、删除)。 *增加和删除功能均以一个记录为单位。修改功能要求修改python成绩。 *查询功能要求按分数段查询python成绩,并列出相关记录信息。
时间: 2024-03-24 12:39:44 浏览: 90
好的,我理解了你的问题。这是一个比较复杂的问题,需要多个模块的协作完成。我会尽力为你提供一个实现方案,但需要注意的是,这只是一个大致的框架,具体的实现还需要你自己完成。
首先,我们需要创建一个学生信息文件,用于存储每个学生的学号、姓名和Python成绩。可以使用CSV文件格式,具体实现如下:
```python
import csv
# 创建学生信息文件
def create_student_file():
with open('student.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['学号', '姓名', 'Python成绩'])
# 输入学生信息
def input_student_info():
with open('student.csv', 'a', newline='') as csvfile:
writer = csv.writer(csvfile)
student_id = input('请输入学号:')
student_name = input('请输入姓名:')
student_score = input('请输入Python成绩:')
writer.writerow([student_id, student_name, student_score])
# 循环输入五名同学的信息
def loop_input_student_info():
for i in range(5):
input_student_info()
```
上述代码中,`create_student_file`函数用于创建一个空的学生信息文件;`input_student_info`函数用于输入一个学生的信息,并将其写入文件中;`loop_input_student_info`函数用于循环输入五名同学的信息。
接下来,我们需要设计实现学生注册登录界面。可以使用一个字典来存储学生的学号和密码,具体实现如下:
```python
# 学生注册
def student_register():
student_id = input('请输入学号:')
student_password = input('请输入密码:')
students = {}
students[student_id] = student_password
with open('students.txt', 'w') as f:
f.write(str(students))
# 学生登录
def student_login():
with open('students.txt', 'r') as f:
students = eval(f.read())
student_id = input('请输入学号:')
student_password = input('请输入密码:')
if student_id in students and students[student_id] == student_password:
print('登录成功')
else:
print('登录失败')
```
上述代码中,`student_register`函数用于注册一个学生账号,并将学号和密码存储到文件中;`student_login`函数用于登录一个学生账号,首先从文件中读取学生信息,然后匹配输入的学号和密码,若匹配成功则登录成功,否则登录失败。
最后,我们需要设计实现学生信息管理界面及功能实现界面。可以使用一个菜单来实现功能的选择,具体实现如下:
```python
# 显示菜单
def show_menu():
print('1. 增加学生信息')
print('2. 查询学生信息')
print('3. 修改学生信息')
print('4. 删除学生信息')
print('5. 退出')
# 增加学生信息
def add_student_info():
loop_input_student_info()
# 查询学生信息
def query_student_info():
with open('student.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
score_min = int(input('请输入最低Python成绩:'))
score_max = int(input('请输入最高Python成绩:'))
for row in rows[1:]:
score = int(row[2])
if score_min <= score <= score_max:
print(row)
# 修改学生信息
def modify_student_info():
student_id = input('请输入要修改的学生学号:')
with open('student.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
for i in range(1, len(rows)):
if rows[i][0] == student_id:
new_score = input('请输入新的Python成绩:')
rows[i][2] = new_score
break
with open('student.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(rows)
# 删除学生信息
def delete_student_info():
student_id = input('请输入要删除的学生学号:')
with open('student.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
new_rows = [row for row in rows if row[0] != student_id]
with open('student.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(new_rows)
# 主函数
def main():
while True:
show_menu()
choice = input('请选择功能:')
if choice == '1':
add_student_info()
elif choice == '2':
query_student_info()
elif choice == '3':
modify_student_info()
elif choice == '4':
delete_student_info()
elif choice == '5':
break
else:
print('输入有误,请重新输入!')
```
上述代码中,`show_menu`函数用于显示菜单;`add_student_info`函数用于增加学生信息;`query_student_info`函数用于查询学生信息,按照Python成绩段进行查询;`modify_student_info`函数用于修改学生信息,包括修改Python成绩;`delete_student_info`函数用于删除学生信息;`main`函数是程序的主入口,根据用户输入的选择调用相应的功能函数。
这就是一个大致的实现方案,你可以根据自己的需要进行修改和完善。希望能对你有所帮助!
阅读全文