【问题标题】:Bubble sort and file r/w task冒泡排序和文件读写任务
【发布时间】:2015-01-30 12:23:52
【问题描述】:

我正在尝试在 python 上进行冒泡排序挑战,它涉及排序和文件读取。它是一个游戏的高分板,分数保存在一个txt文件中,程序需要做这些事情: 输入姓名和分数(每个 3 长) 排序名称和分数 存储列表,这样我可以在关闭它后打开它并编辑它 删除名称和分数 将分数替换为名称

我正在一点一点地做,就像一个故事。 para by para 每一个都是一个段落。 我有点卡在最后两点上。我可以为此提供一些帮助。 我在gcse级别,(ocr)

这是我的排序程序

def BubbleSort2(lst):
     lst = list(lst)
     swapped = True
     while swapped:
         swapped = False
         for i in range(len(lst)-1):
             if lst[i] < lst[i+1]:
                 lst[i], lst[i+1] = lst[i+1], lst[i]
                 swapped = True
     return lst

【问题讨论】:

  • ""gcse level, (ocr)" 敲响任何铃铛的人,让他先向她扔石头。"
  • 也就是说,你的具体问题是什么?

标签: python bubble-sort


【解决方案1】:

将代码中的 if 条件更改为 if lst[i] &gt; lst[i+1]:。在冒泡排序中,需要检查ith 元素和i+1 元素,如果i 元素大于i+1 元素则交换元素。

代码:

def bubbleSort(input, n):
    """
        Bubble Sort.
        Input: Input List and Number of elemnt in list
        Output: Sorted List
    """
    i = 1
    while i<n:  # Run n-1 times
        j = 0
        tmp = n-i
        while j<tmp:                        
            if input[j]>input[j+1]:  # Exchange values
                tmp1 = input[j]
                input[j] = input[j+1]
                input[j+1] = tmp1
            j += 1
        print "i=%d input:-%s"%(i, input)
        i += 1

    return list(input)

input = [6,5,4,3,2,1]
no = len(input)

print "\n", bubbleSort(input, no)

输出:

$ python test.py 

i=1 input:-[5, 4, 3, 2, 1, 6]
i=2 input:-[4, 3, 2, 1, 5, 6]
i=3 input:-[3, 2, 1, 4, 5, 6]
i=4 input:-[2, 1, 3, 4, 5, 6]
i=5 input:-[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 2021-06-29
    • 2013-10-09
    相关资源
    最近更新 更多