for循环:
python中的for循环是用来迭代容器中的每一个元素的,而不是c,java中理解那个循环;
for 零时变量 in 容器:
print(零时变量) #每一个迭代出的元素
range 全局函数:
range(num) # [0, num)区间内所有整数
range(start, end) #[start, end)区间内所有整数
range(start, end, step) # 默认步长是1,但是可以通过第三个参数修改步长
案例1:
*
**
***
****
*****
layer = int(input("请输入你想打印的行数:"))
for i in range(0, layer+1):
for j in range(0, i):
print("*", end="")
print()
案例2:
*
***
*****
*******
*********
layer = int(input("请输入你想打印的行数:"))
for i in range(0, layer):
for j in range(0, (2 * i) + 1):
print("*", end="")
print()
案例3:
*
* *
* * *
* * * *
* * * * *
方法一:
for i in range(1, layer + 1):
#打印空格的个数
for j in range(layer - i):
print(" ", end=" ")
#打印*的个数
for j in range(i):
print("*", end=" ")
print()
方法二:
for i in range(1, layer + 1):
# 打印空格的个数
print(" " * (layer - i), end=" ")
# 打印*的个数
print("*" * i,)
案例4:
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
for i in range(1, layer + 1):
#打印空格的个数
for j in range(layer - i):
print(" ", end=" ")
#打印*的个数
for j in range(2 * i - 1):
print("*", end=" ")
print()
案例5:
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
for i in range(layer, 0, -1):
#打印空格的个数
for j in range(layer - i):
print(" ", end=" ")
#打印*的个数
for j in range(2 * i - 1):
print("*", end=" ")
print()
案例6:
*
***
*****
*******
*********
*******
*****
***
*
layer = int(input("请输入一个奇数:"))
while layer % 2 == 0:
layer = int(input("请输入一个奇数:"))
for i in range(1, layer // 2 + 1):
print(" " * (layer - i), end=" ")
print("*" * (2 * i - 1))
for i in range(layer // 2 - 1, 0, -1):
print(" " * (layer - i), end=" ")
print("*" * (2 * i - 1))
实验七:(存在问题)
layer = int(input("请输入一个奇数:"))
while layer % 2 == 0:
layer = int(input("请输入一个奇数:"))
for i in range(0, layer // 2 + 2):
print(" " * (layer - i), end=" ")
for j in range(2 * i + 1):
if j == 0 or j == 2 * i:
print("*", end=" ")
else:
print(" ", end=" ")
print()
for i in range(layer // 2 - 1, -1, -1):
print(" " * (layer - i), end=" ")
for i in range(2 * i + 1):
if j == 0 or j == 2 * i:
print("*", end=" ")
else:
print(" ", end=" ")