Python中字典指定键对应值的长度校验实现问题
问题原因分析
- 满员触发条件错误:你预设的团队人数上限是5,初始状态下
Team Ahab列表已经有5个元素,原有代码判断len(team1["Team Ahab"]) > 5,只有列表长度超过5才会触发满员提示,此时已经可以正常添加第6个成员,逻辑完全不符合需求。 - 多余的错误弹出逻辑:满员场景下你只需要拒绝新增即可,不需要尝试移除输入的用户名;且
list.pop()方法要求传入的是列表索引,直接传入用户名字符串会直接抛出类型错误。
修正后代码
team1 = {"Team Ahab":["Martin","Kaz","Simba","Davis","Yas",],"Score":[]} # 定义团队人数上限 MAX_MEMBER = 5 username = input("What is your name:") if len(team1["Team Ahab"]) >= MAX_MEMBER: print("This team is full so please join another one instead") else: team1["Team Ahab"].append(username) print(team1)
运行效果说明
当输入用户名为Paul时,当前团队成员数已经达到5,符合>= MAX_MEMBER的判断条件,直接输出你需要的满员提示,不会执行新增操作。
内容的提问来源于stack exchange,提问作者Paul Atreidis
相关产品推荐
相关产品推荐

