【问题标题】:Python selection sortPython选择排序
【发布时间】:2014-03-01 22:41:33
【问题描述】:

问题:代码应该获取一个文件(每行包含一个整数值),打印(未排序的)整数 值,对其进行排序,然后打印排序后的值。

有什么不正确的地方吗?我知道我可以测试它,并且我确实测试了 selectionSort,它工作得很好。但我真的不知道如何测试它是否成功获取文件并完成了它应该做的事情。

谢谢

filename=input('Enter file path:')
file = open(filename, 'r')
alist = [int(line) for line in file.readlines()]
print(alist)

def selectionSort(alist):
    for index in range(0, len(alist)):
        ismall = index
        for i in range(index,len(alist)):
            if alist[ismall] > alist[i]:
                ismall = i
        alist[index], alist[ismall] = alist[ismall], alist[index]
    return alist 

【问题讨论】:

  • 为了测试它,你为什么不直接创建一个带有数字的文件并在上面运行你的脚本呢?

标签: python sorting select integer


【解决方案1】:

您的选择排序似乎是正确的,但它之前的部分有问题:

(如果没有忽略我的回答,我假设这是 Python 2.X)

更正后的代码:

filename=raw_input('Enter file path:')
file = open(filename, 'r')
alist = [int(line.strip()) for line in file.readlines()]
print(alist)

【讨论】:

    【解决方案2】:

    将你的第三行改为

    alist = [int(line.strip()) for line in file.readlines()]
    

    来自

    alist = [int(line) for line in file.readlines()]
    

    【讨论】:

      猜你喜欢
      • 2020-03-12
      • 2013-01-19
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 2021-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多