easygui的一个关于循环的问题
本帖最后由 入土 于 2020-5-7 20:32 编辑import easygui as g
content = [' *日期 ',' *时间 ',' 退出指令(q\Q)']
msg = '请输入具体考勤内容:'
title = '考勤'
values = []
values = g.multenterbox(msg,title,content)
while 1:
errmsg = ''
for i in range(len(content)):
option = content.strip()
if values.strip() == '' and option == '*':
errmsg += ('【%s】为必填项。\n' % content)
if errmsg != '':
values = g.multenterbox(errmsg,title,content)
print(values)
print(values)
if values == 'q' or 'Q':
break
代码如上我想让弹窗一直循环下去,可是只能循环2次
点OK或者只输入日期或时间中的其中一个时
窗口循环弹出了,但只能弹一次
我把最后一行代码:
if values == 'q' or 'Q':
break
删了之后确好了
求助大佬们这是为啥? 写 Python 程序不能这样偷懒,需要这样写:
if values == 'q' or values == 'Q':
break
values == 'q' or 'Q' 永远都是 True,因为 'Q' 为 True Python没有那么的智能,你得写成:
if values == 'q' or values == 'Q':
不然,一定会为True,因为Q的ASCII码不为0 qiuyouzhi 发表于 2020-5-7 20:31
Python没有那么的智能,你得写成:
不然,一定会为True,因为Q的ASCII码不为0
>>> bool(chr(0))
True qiuyouzhi 发表于 2020-5-7 20:31
Python没有那么的智能,你得写成:
不然,一定会为True,因为Q的ASCII码不为0
Python 没有 char 型,除非空字符串都为 True
页:
[1]