如何请求输入并对其进行冒泡排序?

-1 投票
2 回答
2159 浏览
提问于 2025-04-18 03:21

这是我第一次用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 个回答

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())
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)

撰写回答