ef insert(): stu_list=[] while True: id=input("please input your id") if not id: break name=input("please input your name") if not name: break; try: English=int(input("输入你的英语成绩:")) JAVA=int(input("输入你的JAVA成绩:")) PYthon=int(input("输入你的PYthon成绩:")) except: print("输入的数据不是int类型") continue解释下这段代码
时间: 2023-06-11 11:05:38 浏览: 171
这段代码是一个函数,函数名为insert()。函数中创建了一个空列表stu_list,并且使用while循环,不断向用户发出输入id和name的请求。如果用户输入的id或name为空,则退出循环。接下来使用try-except语句来捕捉用户输入非数字类型的异常。如果用户输入的是数字类型,则创立一个字典,包含id、name、English、JAVA、Python这5个键值对,并将该字典加入学生列表stu_list中。如果用户输入的是非数字类型,则跳过当前循环,并继续下一次循环。函数最终返回学生列表stu_list。
相关问题
分析def insert(): student_list = [] while True: stu_id = input('请输入学号:') if not stu_id: break name = input('请输入姓名:') if not name: break try: english = int(input('请输入英语成绩')) chinese = int(input('请输入语文成绩')) math = int(input('请输入数学成绩')) except: print('错误的成绩(不是整数)') continue student = {'stu_id': stu_id, 'name': name, 'english': english, 'chinese': chinese, 'math': math} student_list.append(student) ans = input('是否继续添加y/n\n') if ans == 'y' or ans == 'Y': continue else: break save(student_list) print('输入完毕!')
这段代码定义了一个名为insert()的函数,用于向学生信息管理系统中添加学生信息。该函数包含以下步骤:
1. 定义一个空列表student_list,用于存储输入的学生信息。
2. 进入一个无限循环,用户每输入一个学生信息就会往student_list中添加一个字典,表示一个学生的信息。每个字典包含学生的学号(stu_id)、姓名(name)、英语成绩(english)、语文成绩(chinese)和数学成绩(math)。
3. 在输入学生信息之前,程序会提示用户输入学号和姓名。如果用户没有输入学号或姓名,则会跳出循环,表示输入完毕。
4. 在输入学生成绩时,程序会使用try-except语句来判断用户输入的成绩是否为整数。如果不是整数,则会提示用户输入错误的成绩并继续循环,直到用户输入正确的成绩为止。
5. 在每次循环结束时,程序会提示用户是否继续添加学生信息。如果用户选择继续添加,则会继续循环;如果用户选择不添加,则会跳出循环。
6. 最后,程序会调用save()函数将输入的学生信息保存到文件中,并输出一条输入完毕的提示信息。
需要注意的是,该代码中的save()函数没有给出具体实现,需要根据具体需求自行编写。
def insert(): # 录入学生信息 student_list = [] while True: id = input('请输入学生学号:') if not id: break name = input('请输入学生姓名:') if not name: break try: english = int(input('请输入学生英语成绩:')) python = int(input('请输入学生python成绩:')) math = int(input('请输入学生数学成绩:')) data = int(input('请输入学生数据结构成绩:')) except: print('成绩录入有错,请检查后重新录入!') continue stu = {'id': id, 'name': name, 'english': english, 'python': python, 'math': math, 'data': data} student_list.append(stu) a = input('\n是否继续录入?y/n:') if a == 'y' or a == 'Y': # 当输入y时,执行下一轮循环,接着录入,否则终止循环 continue else: break save(student_list) # 向文件中写入学生成绩数据 print('\n学生成绩录入成功!') 写出上面这段代码的伪代码
1. 定义函数insert()
2. 初始化空列表student_list
3. 进入循环
4. 输入学生学号id
5. 如果id为空,跳出循环
6. 输入学生姓名name
7. 如果name为空,跳出循环
8. 尝试输入学生英语成绩english、python成绩python、数学成绩math、数据结构成绩data
9. 如果输入有误,输出提示信息,并返回第3步
10. 创建字典stu,包含学生学号、姓名、英语成绩、python成绩、数学成绩、数据结构成绩
11. 将字典stu添加到student_list列表中
12. 询问是否继续录入,如果是,返回第3步,否则跳出循环
13. 调用save()函数,将学生成绩数据写入文件
14. 输出学生成绩录入成功信息
阅读全文