看板 Python 關於我們 聯絡資訊
不好意思 我是Python初學者,問的問題可能很蠢很基本, 請大家包涵 我想寫一個list 的 sorting function (不用內建的sort), 並且計算該list的平均值。 以下是我目前寫的codes,但是跑的結果是甚麼都沒有,也沒有error。 可以請教問題出在哪嗎? 感謝! new_list = [] original_list=[] def sorting(original_list): while original_list: max = original_list[0] for x in original_list: if x > max: max = x new_list.append(max) original_list.remove(max) return new_list def average(new_list): sum = 0 for j in range(len(new_list)): sum += new_list[j] return sum/len(new_list) original_list=[3,9,7,4,0,2] print(sorting(original_list)) print(average(new_list)) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.110.107 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1511881813.A.24D.html
goldflower: 如果你第一個值取到最大就GG惹 11/28 23:38
goldflower: 你想一下3.9調換 你的function怎麼跑 11/28 23:39
handsomeLin: 嗨,function刮號裡的是你的參數,如果你要算average 11/29 04:33
handsomeLin: 的話你要pass你return出來的東西才有辦法哦 11/29 04:33
handsomeLin: 簡單來說你最上面兩行可以不用那兩個變數也行 11/29 04:34
handsomeLin: sum max都是內建函數不要拿來當變數名稱 11/29 04:49
handsomeLin: sort的function邏輯上也不太對,建議網路看一下演算 11/29 04:53
handsomeLin: 法sorting的部分 11/29 04:53
Blankfein: O(n^2) qq 11/29 05:14
tedwu2001: 如果你是要實作selection那你append跟remove放錯地方 11/29 15:19
starlichin: 謝謝大家的解答! 成功解決了~ 11/29 22:09