我正在用for循环中的if-else
条件编写一个简单的Python脚本,从文本文件逐行读取输入。下面是我的剧本。
我应该得到预期的结果。请帮帮我!
我的环境.txt包含:
DEV01
DEV02
UAT01
UAT02
代码如下:
with open("env.txt") as envnames:
for eachenv in envnames:
if eachenv=="DEV01" or "DEV02":
eachenv="dev"
print (eachenv)
elif eachenv=="UAT01" or "UAT02":
eachenv="uat"
print(eachenv)
else :
print('')
期望值:
dev
dev
uat
uat
实际值:
dev
dev
dev
dev
问题是
if eachenv=="DEV01" or "DEV02"
。你知道吗你不能这样检查。如果
eachenv=="DEV01"
,结果将是True
,否则结果将是"DEV02"
,而不是False
。 你应该这样做:同时将
for eachenv in envnames:
更改为:是指,如果出现以下情况之一:
eachenv
等于"DEV01"
"DEV02"
那
"DEV02"
呢?它存在,所以条件的选项将是“truthy”,所以您的if
将始终通过。你知道吗这不是链式条件的工作方式。你知道吗
你的意思是:
现在,如果出现以下情况之一:
eachenv
等于"DEV01"
eachenv
等于"DEV02"
耶!你知道吗
在
if eachenv=="DEV01" or "DEV02":
行中,第二个条件始终为真:这是因为字符串
"DEV02"
是一个对象,因此将被True
计算。你知道吗@Lightness Races in Orbit给出了正确的方法来编写这个if语句。你知道吗
相关问题 更多 >
编程相关推荐