努力創建一個函數,確定如何將三個接受的整數返回到一個排序格式的元組中,取決於升序是否爲真。我怎麼去編碼呢?如果if語句是否升序,我會使用for循環嗎?我對使用「排序(列表)」和「排序(列表,反向= True)」進行排序有一個大概的想法。「將值返回給一個元組?
功能的代碼,我到目前爲止有:
def sort3(x,y,z, ascending=True):
list(x,y,z)
return lst
測試應該是這樣的sort3(5,3,4)返回(3,4,5)
努力創建一個函數,確定如何將三個接受的整數返回到一個排序格式的元組中,取決於升序是否爲真。我怎麼去編碼呢?如果if語句是否升序,我會使用for循環嗎?我對使用「排序(列表)」和「排序(列表,反向= True)」進行排序有一個大概的想法。「將值返回給一個元組?
功能的代碼,我到目前爲止有:
def sort3(x,y,z, ascending=True):
list(x,y,z)
return lst
測試應該是這樣的sort3(5,3,4)返回(3,4,5)
這應該做的伎倆:
def sort3(x, y, z, ascending=True):
return tuple(sorted([x, y, z], reverse=not ascending))
謝謝你,非常簡單。猜猜我是在想它。 –
理論上你可以用一系列的if
語句來做到這一點,但是Python有內置函數可以更簡單地執行這個任務。
嘗試使用sorted()
功能組合(它返回列表類型的對象)與tuple()
功能,該列表轉換爲元組。
def sort3(x, y, z):
d = [x, y ,z]
return tuple(sorted(d))
這還不夠嗎?
'return tuple(sorted([x,y,z],reverse =(not ascending)))''你只是重寫'sorted'函數... – brianpck
其實他正在返回'lst',這是沒有定義的。 –
@JohnGordon好抓。 –