如何从用户处获取输入并显示已排序的lis

2024-04-27 02:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从用户那里获取8个输入,并使用冒泡排序算法将其按升序排序我尝试了这段代码,但输出是错误的数组不是以排序方式,并且没有错误我得到的输出是[1]

def sort(num):

    for i in range(len(num)-1,0,-1):
        for j in range(i):
            if num[j]>num[j+1]:
                temp = num[j]
                num[j] = num[j+1]
                num[j+1] = temp

for t in range (8):
    nums=int(input("Enter Number: "))
    num=[nums]
sort(num)

print(num);

Tags: 代码用户in算法for排序错误方式
1条回答
网友
1楼 · 发布于 2024-04-27 02:26:56

实际上,您在获取输入时做得不对,每次获取用户输入时,num列表都会用新的用户输入更新。我的意思是:

user enter: 4

num = [4]

next iteration, user enter : 5

now num becomes num = [5]

因此,您必须进行以下修改,即在for循环中使用list的append方法

num = []
for i in range(8):
    num=int(input("Enter Number: "))
    nums.append(num)

相关问题 更多 >