2012-11-03 42 views
0

可能重複:
strange while statement behaviour?奇怪而行爲

給出下面,請問有什麼可以正確地執行列表中理解,退出循環&運行後「其他」的聲明?我試圖掃描' - '字符,但它不起作用。

曾嘗試:

while(current != randomValue) 

現在正試圖:

randomKey = random.choice(list(topic.keys())) 

randomValue = random.choice(topic[randomKey]) 

current = "-" * len(randomValue) 

while (i for i in range (0, len(current)) if i != "-"): 
    (statements) 
else: 
    (statements) 
+0

嗨:)我嘗試了一種解決方法,因爲我需要我的prev文章工作如此糟糕。同樣的問題和人的方​​式:)對不起。 – brainsfrying

+0

非常感謝我嘗試了別的東西,它工作。經過這麼長時間的簡單解決方案愚蠢的我。 – brainsfrying

回答

0

您的測試沒有意義 - 布爾在發生器始終True

>>> a = (i for i in range(10)) 
>>> bool(a) 
True 

而且i永遠不會=='-'因爲你正在循環播放range。我不確定你在這裏嘗試的是什麼,但是我們真的無法幫助你解決這個問題,除非我們看到你可以設法把你的實際代碼燒到最低的重要部分。 (誰知道,通過這樣做,你可能會發現自己的問題)

+0

非常感謝我嘗試了別的東西,它的工作。經過這麼長時間的簡單解決方案愚蠢的我。 – brainsfrying

0

不是List理解,努力使while語句錯誤等等。我這樣做,這在某種程度上工作:

while ("-" in current):