python中“or”的注意事项

刚开始学python,在写一个例题项目时(部分代码如下),不管输入什么总是退出程序

answer = str(input('您确定要退出系统吗?y/n'))
            if answer == 'y' or'Y':
                print('退出系统成功!!!感谢您的使用!!!')
                break
            else:
                continue

我的本意是当answer为y或者Y时推出系统,输入其他时继续,但不管输入什么总是推出系统(如图)

python中“or”的注意事项

原来是if语句中anwer=y是一种情况,‘Y’是另一种情况,python中的字符串(除0外)表示的bool值都为true,所以if语句的第2行永远为true,else语句永远不执行。将代码改成下面这样,程序成功按照既定方式运行。

 answer = str(input('您确定要退出系统吗?y/n'))
            if answer == 'y' or answer == 'Y':
                print('退出系统成功!!!感谢您的使用!!!')
                break
            else:
                continue

从这次错误我了解到python虽然灵活,但并不是什么都能省的,and、or等连结的两侧应是完整的代码句,不能是单独的变量。

上一篇:程序员面试金典 - 面试题 16.15. 珠玑妙算


下一篇:P1065 [NOIP2006 提高组] 作业调度方案