這裏的問題: 使用for循環,寫一個函數稱爲getMax4這需要在號碼列表。它決定和返回最大號碼是整除4. 該函數返回-999如果參數是一個空列表。列表和最大號
我的代碼:
# What im trying to do is e.g. let's say:
List=[1,2,3]
maximum=List[0]
for num in List:
if num > maximum:
maximum = num
print(maximum)
如果在參數列表中沒有數爲整除4. 下面顯示了示例輸出時調用該函數在Python殼函數返回0
通過執行for循環,它首先與列表[0]比較是1,列表中的「1」。在比較1和1之後,沒有差別,所以最大值仍然是1.現在它移動到第二次迭代maximum = List [0](在列表中爲1),現在與列表中的2進行比較。現在2比最大值更高,因此它將新的最大值更新爲2.(對不起,因爲英文不好) 所以問題是,當我嘗試使用空集來做它時,它會給我索引超出範圍。
的另一個問題是,當我輸入值的樣本輸出給定的,我得到的是0
List=[]
def getMax4 (List):
highest=List[0]
for num in List:
if num % 4 == 0:
if num > highest:
highest = num
return highest
elif num == [] :
return -999
else:
return 0
您似乎忘記提問了。我們所有的就是你的任務和你的代碼。關於您使用該代碼做什麼,或者運行時會發生什麼。或者你希望我們爲此提供幫助。 –
我使用翼。我如何附上照片? –
您遇到的問題是因爲一旦找到可分割的數字,您立即返回'最高'。相反,用'0'初始化'highest',在for循環外面返回'highest',然後檢查'List'是空的(在for循環之外),而不是數字。 – L3viathan