gpt4 book ai didi

python - 如果在 for 循环中不工作,即使条件满足

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:16 24 4
gpt4 key购买 nike

运行以下代码将文本文件的列中的值与给定数字进行比较,在本例中为 440

with open('test.txt', 'a+') as input:
for line in input:
columns = line.split(" ")
print columns[5] #test
if columns[5] == '440':
print 'match'

test.txt 只是:

0 0 0 0 0 1
0 0 0 0 0 440
0 0 0 0 0 1
0 0 0 0 0 440
0 0 0 0 0 1
0 0 0 0 0 1

print columns[5] 位从 txt 文件中打印出正确的值,但即使它匹配 440,for 循环中的 if 也不起作用

谢谢你的帮助

最佳答案

因为你的 440 是最后一行,column[5] == '440\n'

您需要在比较之前去除值。

if columns[5].strip() == '440':

或者先剥离它:

columns = line.strip().split(" ")

或使用常规拆分,它将在所有空白处拆分:

columns = line.split()

或者做一个实际的数字比较

if int(columns[5]) == 440:

关于python - 如果在 for 循环中不工作,即使条件满足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13543881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com