如何输入输入和冒泡排序?

时间:2014-04-19 05:25:24

标签: python bubble-sort

这是我第一次使用Python进行编码,我创建了一个代码,用于对给定列表进行冒泡。这是我的代码:

def bubbleSort(alist):
    for passnum in range(len(alist)-1,0,-1):
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                temp = alist[i]
                alist[i] = alist[i+1]
                alist[i+1] = temp

alist = ["hi",50,93,"/",77,31," ",55,20]
bubbleSort(alist)
print(alist)

我正在尝试向用户询问列表而不是将列表存储在代码中,但我不知道如何在Python中执行此操作。有人会帮我解决它。

2 个答案:

答案 0 :(得分:1)

一种可能的方法是将参数作为命令行参数读取。有点像这样:

import sys

def main():
    # Some Code
    for arg in sys.argv[1:]:
         print(arg)

if __name__ == '__main__':
    main()

另一种方法是在运行时使用“raw_input()”读取输入:

s = raw_input()
numbers = map(int, s.split())

答案 1 :(得分:0)

了解Python的内置方法和功能:raw_inputsplit.

def bubbleSort(alist):
    for passnum in range(len(alist)-1,0,-1):
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                temp = alist[i]
                alist[i] = alist[i+1]
                alist[i+1] = temp

alist = raw_input('Enter the list to sort (seperated by spaces): ').rstrip()
alist = alist.split(' ')

bubbleSort(alist)
print(alist)