Python|python经典题(九九乘法表和冒泡排序)
python经典题:双重循环和列表
文章目录
-
- python经典题:双重循环和列表
-
- 1、小白python打印九九乘法表
- 2、小白打印图形贴纸
-
- (1)打印正方形:
- (2)打印三角形(从各个角度打印):
- (3)打印菱形贴纸图案:
- (4)打印空心正方形:
- 3、元素交换游戏:
- 4、冒泡排序:
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学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Python数据分析(一)(Matplotlib使用)
- 这份史上最经典的3大学习方法,清华北大学霸都在用!