Python新手编写兑换码匹配程序输入有效编码仍提示无效如何解决
兑换码校验程序错误修复
错误原因
- 运算符误用:
is用于判断两个对象是否指向同一块内存地址,你代码中用用户输入的字符串和整个codes列表对比,二者类型、内存地址都完全不同,判断结果永远为假。 - 逻辑缺失:一是没有用成员判断逻辑检查输入是否在列表元素中,二是匹配成功后没有修改循环终止变量
truecode的状态,程序无法正常退出。
修复后的完整代码
codes = ['1234', '5678', '2684', '1243', '3565', '3458', '4589'] truecode = False while not truecode: user_input = input('请输入你的兑换码:') # 改用in成员运算符判断输入是否在codes列表中 if user_input in codes: print('兑换码校验通过,优惠已生效') # 修改状态终止循环 truecode = True else: print('兑换码无效,请重新输入')
内容的提问来源于stack exchange,提问作者taganof
相关产品推荐
相关产品推荐

