作者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://webptt.com/cn.aspx?n=bbs/Python/M.1511881813.A.24D.html
1F:推 goldflower: 如果你第一个值取到最大就GG惹 11/28 23:38
2F:→ goldflower: 你想一下3.9调换 你的function怎麽跑 11/28 23:39
3F:推 handsomeLin: 嗨,function刮号里的是你的参数,如果你要算average 11/29 04:33
4F:→ handsomeLin: 的话你要pass你return出来的东西才有办法哦 11/29 04:33
5F:→ handsomeLin: 简单来说你最上面两行可以不用那两个变数也行 11/29 04:34
6F:推 handsomeLin: sum max都是内建函数不要拿来当变数名称 11/29 04:49
7F:推 handsomeLin: sort的function逻辑上也不太对,建议网路看一下演算 11/29 04:53
8F:→ handsomeLin: 法sorting的部分 11/29 04:53
9F:→ Blankfein: O(n^2) qq 11/29 05:14
10F:→ tedwu2001: 如果你是要实作selection那你append跟remove放错地方 11/29 15:19
11F:→ starlichin: 谢谢大家的解答! 成功解决了~ 11/29 22:09