作爲一項家庭作業,我必須編寫一個腳本,可以找到3個給定數字的中位數,而不使用Python的標準排序功能。查找中位數而不使用排序功能
這是我在課堂上的第一週,也是我的第一次編程經驗,所以我覺得現在我很難得到任何進展。
這是我到目前爲止有:
def med3(a,b,c):
list = [a, b, c]
newlist = []
if list:
minimum = list[0]
for x in list:
if x < minimum:
minimum = x
newlist.append(minimum)
list.remove(minimum)
elif x >= minimum:
newlist.append(x)
list.remove(x)
return newlist[1]
這似乎這樣的伎倆,但只適用於列表的前兩個項目。循環不包括第三項。
如何讓腳本包含所有三個條目?
在此先感謝! 桑德
太多的工作。在沒有使用循環和列表的情況下,定義「中值」在3個數字的上下文中的含義。 –
你有很多代碼,真的不需要。此外,因爲這是作業,它爲你弄清楚,不是爲了我們爲你做... – Onlyjus
歡迎來到堆棧溢出!你在這裏有許多不必要的步驟。例如,'if list:'是不必要的:你剛剛定義了列表。但總的來說,你不需要列表或循環。提示:你可以使用三個'if'語句來做到這一點,每個語句都使用'或'。 –