刚开始学python,在写一个例题项目时(部分代码如下),不管输入什么总是退出程序
answer = str(input('您确定要退出系统吗?y/n')) if answer == 'y' or'Y': print('退出系统成功!!!感谢您的使用!!!') break else: continue
我的本意是当answer为y或者Y时推出系统,输入其他时继续,但不管输入什么总是推出系统(如图)
原来是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等连结的两侧应是完整的代码句,不能是单独的变量。