如何用Python显示进程:插入

2024-05-20 00:38:04 发布

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

我正试图为插入排序编写python程序,但问题是我想让它像这样显示过程或过程的循环,但我不知道怎么做

输入9, 8, 7, 10, 2

列表中的数据是[9, 8, 7, 10, 2]

第1轮:9、8、7、10、2 8,9,7,10,2

第2轮:8、9、7、10、2 7, 9, 8, 10, 2 7,8,9,10,2

第3轮:7、8、9、10、2 7, 8, 9, 10, 2 7, 8, 9, 10, 2 7,8,9,10,2

第4轮:2、8、9、10、7 2, 7, 9, 10, 8 2, 7, 8, 10, 9 2,7,8,9,10

排序数组是:2, 7, 8, 9, 10

课程结束

我是个新手,请帮帮我。泰铢:)

a=[]
i=0
while i<=4:
        a.insert(i,int(input("Enter your number: ")))
        i=i+1
print ('Data in list is',a)
j=1 
while j<=5:
    i=0 
    while i<=3:
        if a[i]>=a[i+1]:
            b=a[i]
            a[i]=a[i+1]
            a[i+1]=b
        i = i+1
    j = j+1

print ('Sorted array is :',a)
print ('End of program:')

Tags: 数据程序列表排序is过程数组课程
1条回答
网友
1楼 · 发布于 2024-05-20 00:38:04

首先,我会考虑查看for循环,它是您使用while做什么的简写。至于你的实际问题,关键是你需要打印出循环中的循环。因此,当您的程序在a列表中迭代时,您可以通过print捕捉a的当前进度。见下表:

a = []
for i in range( 0, 5 ):
    a.insert( i, int( input( "Enter your number: " ) ) )

print( 'Data in list is', a )

for j in range( 1, 6 ):
    for i in range( 0, 4 ):
        if a[ i ] >= a[ i+1 ]:
            b = a[ i ]
            a[ i ] = a[ i+1 ]
            a[ i+1 ] = b
    print( 'Round', j, ':', a )

print ( 'Sorted array is :', a )
print ( 'End of program:' )

相关问题 更多 >