Python如何给列表设置长度限制?实现最多录入4个在校成绩功能
核心问题说明
你原有代码的问题出在两点:
- 没有用
len(notes)获取列表实际长度做判断,直接拿列表变量和数字、字符串对比,判断逻辑永远不成立 - 是先执行添加操作再判断上限,就算判断逻辑正确,也会先把第5条成绩加入列表再报错,不符合需求
修正后完整代码
notes = [] option = '' while option != '4': print('**********************') print('成绩管理系统') print('**********************') print('1) 添加成绩') print('2) 编辑成绩') print('3) 排序成绩') print('4) 退出') print('**********************') option = input('请输入选项: ') if option == '1': # 先判断是否已经达到上限 if len(notes) >= 4: print('不允许录入超过4个在校成绩') continue # 打印现有成绩 if not notes: print('当前无已录入成绩') else: print('已录入成绩: ') for p in notes: print(f' {p}') # 执行录入 score = float(input('请输入要添加的成绩: ')) notes.append(score)
关键改动说明
- 进入添加成绩分支后先判断长度,达到4条直接弹出警告,跳过后续录入流程
- 合并了原代码里列表为空和非空的重复录入逻辑,减少冗余代码
- 调整了判断逻辑顺序,不会出现超限后还能录入数据的问题
剩下的编辑、排序功能你可以按照自己的需求继续补全逻辑即可。
内容的提问来源于stack exchange,提问作者joaquinn2
相关产品推荐
相关产品推荐

