【发布时间】:2016-02-18 05:18:41
【问题描述】:
我有一个名为 countries.txt 的列表,其中列出了所有国家/地区的名称、面积(以 km2 为单位)、人口(例如 ["Afghanistan", 647500.0, 25500100])。
def readCountries(filename):
result=[]
lines=open(filename)
for line in lines:
result.append(line.strip('\n').split(',\t'))
for sublist in result:
sublist[1]=float(sublist[1])
sublist[2]=int(sublist[2])
我正在尝试根据每个国家的地区使用冒泡排序对列表进行排序:
>> c = countryByArea(7)
>>> c
>>["India",3287590.0,1239240000]
当输入参数时应该返回第 n 个最大的区域。
我有这个但是不知道怎么输出信息
def countryByArea(area):
myList=readCountries('countries.txt')
for i in range(0,len(list)):
for j in range(0,len(list)-1):
if list[j]>list[j+1]:
temp=list[j]
list[j]=list[j+1]
list[j+1]=temp
【问题讨论】:
-
冒泡排序有什么原因吗?
-
print会打印一些东西......想象一下......我很确定冒泡排序想要一个标志来告诉它是否已排序......事实上我很确定这不会正确排序跨度> -
@cricket_007 显然这是某种任务......可能是为了教他们基本的排序算法,他们不会在面试之外使用......
-
是的,第二个代码块不起作用 -
list是 python 中的函数名,range拼写错误,myList从未使用或从“readCountries”返回跨度>
标签: python bubble-sort