Python|python经典题(九九乘法表和冒泡排序)

python经典题:双重循环和列表
文章目录

    • python经典题:双重循环和列表
      • 1、小白python打印九九乘法表
      • 2、小白打印图形贴纸
        • (1)打印正方形:
        • (2)打印三角形(从各个角度打印):
        • (3)打印菱形贴纸图案:
        • (4)打印空心正方形:
      • 3、元素交换游戏:
      • 4、冒泡排序:
【Python|python经典题(九九乘法表和冒泡排序)】
1、小白python打印九九乘法表
for i in range(1,10): # print(" " * (45 - i), end="") for j in range(1,i+1): print(f"{ j}*{ i}={ i*j}",end=" ") print("")1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

2、小白打印图形贴纸
(1)打印正方形:
b='*' for i in range(1,6): for j in range(1,6): print("{}".format(b),end=" ") print()* * * * * * * * * * * * * * * * * * * * * * * * *

(2)打印三角形(从各个角度打印):
#第一种三角形 b='*' for i in range(1,6): for j in range(1,i+1): print(b,end=" ") print() * ** *** **** ***** #第二种三角形图案: for i in range(1,6): print(" "*(6-i),end="") for j in range(1,i+1): print(b,end="") print() * ** *** **** ***** #反三角形:第三种 for i in range(1,6): for x in range(6-i,0,-1): print(b, end="") print() ***** **** *** ** * #第四种三角形图案: for i in range(1,6): print(" " * (i - 1), end="") for x in range(6 - i, 0, -1): print(b, end="") print() ***** **** *** ** *

(3)打印菱形贴纸图案:
#图形打印,菱形 b='*' for i in range(1,10): print(" " * (9 - i), end="") for j in range(1,i+1): print(b,end=" ") print() for j in range(1,10): print(" " * j, end="") for j in range(10-j,1,-1): print(b,end=" ") print()* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

(4)打印空心正方形:
#定义一个变量rows并赋值想要打印正方形的边长 rows = int(input("请输入你想打印空心正方形的边长:")) #外层for循环控制打印的行数 for x in range(rows) : #通过if语句判断行数,筛选出第一行和最后一行 if x == 0 or x == rows-1 : #内层for循环打印正方形上下两边 for y in range(rows) : print(' *' , end = '') #else获取剩余行数 else : #for循环打印 for y in range(rows) : #if语句判断列,筛选出第一列和最后一列打印 * if y == 0 or y == rows-1 : print(' *' , end = '') #else获取剩余列,打印空格 else : print('' , end = '') #换行 print('')请输入你想打印空心正方形的边长:8 * * * * * * * * ** ** ** ** ** ** * * * * * * * *

3、元素交换游戏:
#交换两元素:三变量交换法 a=int(input("请输入第一个数:")) b=int(input("请输入第二个数:")) c=a a=b b=c print("交换后的元素为:{} {}".format(a,b))请输入第一个数:2 请输入第二个数:3 交换后的元素为:3 2

4、冒泡排序:
#冒泡排序例题: from random import random arr=[] for i in range(0,10) : arr . append(int(random()*100)) print("随机生成的10个数",arr) for j in range (0,len(arr)-1):#共总共比较的轮数 flag=True for i in range(0,len(arr)-1-j):#生 每轮比较的次 if arr[i] > arr[i + 1]: tmp=arr[i] arr[i]=arr[i+1] arr[i+1] =tmp flag=False if(flag): print(f"经过{ j+1}轮比较,冒泡排序完成") break print("10个数冒泡排序后的顺序为:",arr)随机生成的10个数 [84, 86, 56, 44, 16, 88, 83, 51, 24, 48] 经过8轮比较,冒泡排序完成 10个数冒泡排序后的顺序为: [16, 24, 44, 48, 51, 56, 83, 84, 86, 88]

    推荐阅读