知识点
- 嵌套循环:
循环里嵌套循环
while 测试真假的表达式1:
while 测试真假的表达式2:
循环体
任务
1、单层循环打印三角形
for i in range(1,6):
print("*" * i)
2、双重循环打印小星星
for i in range(1,6):
for j in range(i):
print("*",end="")
print("")
3、打印九九乘法表
#row 代表第几行,col代表第几列
for row in range(1,10):
for col in range(1,row+1):
#"\t"代表制表符,协助对齐输出的文本
print("%d*%d=%d"%(col,row,col*row),end="\t")
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
4、求最大公约数
辗转相除法(欧几里得算法,最常用)
def gcd(a, b):
# 转为正数,兼容负数
a, b = abs(a), abs(b)
while b != 0:
a, b = b, a % b
return a
# 测试
print(gcd(12, 18))
print(gcd(24, 16))
print(gcd(-30, 18))
5、求最小公倍数
import math
def lcm(a, b):
return abs(a * b) // math.gcd(a, b)
print(lcm(12, 18)) # 36
课后练习
1、倒直角三角形
*****
****
***
**
*
# 5行倒三角
for i in range(5, 0, -1):
for j in range(i):
print("*", end="")
print()
2、等腰三角形
*
***
*****
*******
*********
rows = 5
for i in range(1, rows + 1):
# 打印左侧空格
for space in range(rows - i):
print(" ", end="")
# 打印星号
for star in range(2*i - 1):
print("*", end="")
print()
3、倒等腰三角形
*********
*******
*****
***
*
rows = 5
for i in range(rows, 0, -1):
for space in range(rows - i):
print(" ", end="")
for star in range(2*i - 1):
print("*", end="")
print()

1127

被折叠的 条评论
为什么被折叠?



