代碼:蟒紋消除多次打印輸出
x = ['1', '2', '3']
y = ['a', 'b', 'c']
rangeend = len(x)
for i in range(0, rangeend):
with open("file20.txt") as f:
for line in f:
count = 0
line = line.strip()
z = line.split(" ")
if z[0] == x[i] :
count = 1
a = z[0], z[1]
b = x[i],y[i]
if a == b:
print "ok"
break
else:
print "Failed"
break
if count != 1:
print "{} not found".format(x[i])
file20.txt:
1 a
2 b
5 c
x
列表中有3
但file20.txt
沒有在開始該行的3
(第一串)
我正在嘗試的是我要打印的文件是3 not found
,並且打印只能完成一次在最後。
注意:不僅元素3
,任何元素如果x
列表有但file20.txt
文件行不在開始(第一個字符串)。我想要打印沒有找到。
下面是代碼輸出和2
實際上是存在的,但它是印刷2 not found
(其實這不打印2 not found
)和3
是不存在的file20.txt
但打印3 not found
是正確的,但問題是,它是印刷3倍。我只是想要它打印3 not found
,只有一次。
0
('1', 'a') ('1', 'a')
ok
1
2 not found
('2', 'b') ('2', 'b')
ok
2
3 not found
3 not found
3 not found
所以你想''1,2,3'找不到'''而不是分開打印每一行? – Chuck
你的計數!= 1檢查需要移出for循環,如果你不想重複 - 從我能理解的,這就是你想要的。現在它重複n次,其中n是文件中的行數。 – wave5459
@sinewaver,如果我向外移動循環只有最後一個未找到的號碼將打印。在這種情況下,我想要打印3和4,但是它是這樣的:x = ['1','2','3','4']和['a','b','c','d']將只打印4 – asteroid4u