作者starlichin (白星羽)
看板Python
標題[問題] 關於list sorting (不使用內建sort)
時間Tue Nov 28 23:10:11 2017
不好意思 我是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