我應該寫一個函數max_and_min,它接受一個包含整數元素的元組作爲參數並返回元組中的最大和最小整數。返回值應該是包含最大值和最小值的元組,按照該順序。Python的最大值和最小值
爲「正常」的方法,我想出了:
def max_and_min(values):
return (max(values), min(values))
pass
任何人都知道使用迭代拿出一個答案的方法是什麼?
我應該寫一個函數max_and_min,它接受一個包含整數元素的元組作爲參數並返回元組中的最大和最小整數。返回值應該是包含最大值和最小值的元組,按照該順序。Python的最大值和最小值
爲「正常」的方法,我想出了:
def max_and_min(values):
return (max(values), min(values))
pass
任何人都知道使用迭代拿出一個答案的方法是什麼?
如果你想找到最大/最小通過穿越/迭代 - 使用下面的方法:
def max_and_min(values):
max_v = min_v = values[0]
for v in values[1:]:
if v < min_v:
min_v = v
elif v > max_v:
max_v = v
return (max_v, min_v)
l = [1,10,2,3,33]
print(max_and_min(l))
輸出:
(33, 1)
我認爲不是提供複製解決方案,而是應該解釋解決方案,以便OP可以嘗試自己解決問題。這尤其適用於這樣的情況,問題顯然是基於家庭作業。 –
您的解決方案可以正常工作,但min
和max
方法都循環遍歷該元組以分別查找最小值和最大值。
我想你想要的是以下幾點:
smallest
和biggest
兩者設爲元組的第一個元素for number in values: ...
)smallest
和biggest
分別使用「小於」<
和「大於」>
。smallest = number
)循環完成後,你將有變量smallest
和填充有各自的min和max biggest
。
如果您想進一步優化它,請使用if ... else...
而不是兩個if
s。最大值不能同時是最小值。 (對於唯一的辦法就是隻有一個元組獨特的號碼,我們已經在開始的值設置爲第一要素覆蓋的話。)
你問一個for循環? – Y0da
你試過了什麼?這是一項任務嗎? – Lescurel
你想要什麼? – Harsha