我這段代碼問題出在哪
代碼:
number={10,7,10,8,4}
i=0
max=0
for middle in number:
while i!=5:
if middle>max:
max=middle
i+=1
else:
i+=1
print(max)
uj5u.com熱心網友回復:
number={10,7,10,8,4}max=0
for middle in number:
if middle>max:
max=middle
print(max)
uj5u.com熱心網友回復:
原代碼number={10,7,10,8,4}
i=0
max=0
for middle in number:
while i!=5:
if middle>max:#在第一個數賦值給max之后,執行剩下4次max與middle,而這4次middle==max,所以會輸出4次max,后同
max=middle
i+=1
else:
i+=1
print(max)#因為這個階層在else里面,每一次else都會執行
正確的代碼的話上面已經有了,python要注意空格
uj5u.com熱心網友回復:
比我這個簡單多了
非常感謝!
uj5u.com熱心網友回復:
哇好仔細,
謝謝!!!
uj5u.com熱心網友回復:
for middle in number: 表示middle是一個臨時變數,而number是一個集合(我估計你是想寫成串列吧)。
所以for..in..陳述句就能直接回圈迭代。不用像C語言一樣增加索引變數i
uj5u.com熱心網友回復:
對,剛學完c語言,python真的簡便好多,但自己寫還是容易出錯
uj5u.com熱心網友回復:
對,剛學完c語言,python真的簡便好多,但自己寫還是容易出錯
c是不可能學完的,懂?
uj5u.com熱心網友回復:
好的好的活到老學到老uj5u.com熱心網友回復:
以下是我發現的問題number={10,7,10,8,4} #你定義的是集合,串列應該是number=[10,7,10,8,4],如果是串列可以直接用 number.max 直接求出最
#大值
i=0
max=0
for middle in number:
while i!=5: #沒有必要 因為上面的for陳述句就已經代表回圈5次,i 也是沒有必要的
if middle>max:
max=middle
i+=1
else:
i+=1
print(max) #應該放在與for同級別的縮進上才是輸出最后得到的最大數,這樣子每一次else時都輸出一次
另外注意縮進
可以參考本人的博客哦
uj5u.com熱心網友回復:
學習了 謝謝樓主的分享!這個絕對要頂!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/86626.html
