python经典题:双重循环和列表
文章目录
-
- python经典题:双重循环和列表
-
- 1、小白python打印九九乘法表
- 2、小白打印图形贴纸
-
- (1)打印正方形:
- (2)打印三角形(从各个角度打印):
- (3)打印菱形贴纸图案:
- (4)打印空心正方形:
- 3、元素交换游戏:
- 4、冒泡排序:
1、小白python打印九九乘法表
for i in range(1,10):
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 = int(input("请输入你想打印空心正方形的边长:"))
for x in range(rows) :
if x == 0 or x == rows-1 :
for y in range(rows) :
print(' *' , end = '')
else :
for y in range(rows) :
if y == 0 or y == rows-1 :
print(' *' , end = '')
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]