python经典题:九九乘法表和冒泡排序
Posted 萧楚河..
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]
以上是关于python经典题:九九乘法表和冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章