Python字典赋值实现会员身份校验的代码运行失败如何修复
代码修正方案
原代码存在的问题
- 列表成员判断逻辑错误:
eligible、not_eligible均为列表类型,无法通过['']的方式取值,也不能用==直接判断用户名是否属于列表,需使用in关键字判断元素是否在列表内 - 条件分支逻辑错误:两个独立
if判断会导致分支互斥失效,最后的else仅会和第二个if配对,正式会员匹配成功后仍会触发「用户不存在」的错误提示,需改为if-elif-else互斥分支结构
修正后可运行代码
membership_status = { 's_member' : ['amanda', 'peter', 'alice', 'samuel', 'daniella'], 'not_a_member' : ['micheal', 'thomas', 'victor', 'adrienne', 'limy'], } eligible = membership_status['s_member'] not_eligible = membership_status['not_a_member'] username = input("Enter your username: ") if username in eligible: print(f'welcome back {username.title()}') elif username in not_eligible: print(f'Aww sorry {username.title()}, you are no longer eligible to login') else: print(f'user {username.title()} not found!')
内容的提问来源于stack exchange,提问作者Psalishol
相关产品推荐
相关产品推荐

