2021-06-18

python打印乘法表和冒泡排序

1、打印乘法口诀表

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print('%d*%d=%d' % (j, i, i*j) ,end='   ')
        j += 1
    print()
    i += 1

for j in range(1,9):
    for i in range(1,j+1):
        print('%d*%d=%d'% (i,j,i*j),end='   ')   #end=''代表不换行,也可用于调节同一行的间隔宽度。
    print()  #表示换行

2、冒泡排序

def bubbleSort(arr) :   #传入的是列表
    n=len( arr )
    t=0
    for i in range(n):
        for j in range(0,n-1-i):  #n-1:冒泡排序思想是用列表中
       # 相邻的两个数比较,置换。
        #最后一次对比的两个数是最后一位和倒数第二位,
        #他们的索引分别是n-2,n-1.(下列例子中,即3和4)

#总结:n-1是一定要减,不然会超出索引值(即:列表中的index out of range。)
n-i是为了提高效率。减少不必要的比较次数。(因为当第二个for j in range(n-1-i)循环一轮以后,最大的数就已经被挑选在列表最右侧了,不需要在进行最后一个数和倒数第二个数的比较。循环二轮,三轮,以此类推。)

            if arr[j]>arr[j + 1 ]:
                arr[j], arr[j + 1]=arr[j + 1 ], arr[j]
                #print(arr)
        t+=1
        print(arr,t)


arr=[5,4,3,2,1]
arr1=[1,2,3,4,5]
bubbleSort(arr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值