2013-11-27 137 views
-1

這個while循環給了我麻煩,因爲它不會停止,我試圖更新elem,最終通過使用指數我更大,然後char,但是這根本不會發生,並且是想知道是否有任何解決方案。爲什麼我的循環無限

i = 0 
char = 20 
elem = 2 
while elem < char: 
    elem**i 
    i += 1 
+0

'elem'和'char'在循環永遠不會改變,所以'ELEM lurker

+0

另外,第一次過關,elem被提升到0次方。即使你將值賦給elem,它也會變成1,隨後的迭代會增加1^i,對於i的任何正值,這將不會超過1。 – JosephStyons

回答

2

的問題是,你不改變elem的價值,你只是重複計算elem**i,所以當你比較elemchar總是相同的結果。最簡單的解決方案是比較elem**ichar

你大概的意思是:

while elem**i < char: 
    i += 1