python中的for循环
for in------ 加强循环
in 判断某个值是不是在某个容器里面
for in----- 迭代容器
结构:
for 变量 in 容器:
循环体
range:
range(参数) --------表示从0开始到(参数-1)结束 取值范围:前闭后开
range(参数1,参数2) ------ 表示参数1开始,到参数2结束(不包含参数2) 取值范围:前闭后开
range(参数1,参数2,step) -------步长 默认取值1 可以取负值 取值范围:前闭后开
相应例题:
1)打印三角形(要求输入三角形的层数:)
row=int(input("输入层数:"))
for i in range(row+1):
for k in range(row-i):#要打印的层数-第几层
print(" ",end="")
for j in range(2*i-1):
print("*",end="")
print("")
2)打印实心菱形:
row=int(input("输入要打印的层数:"))
if row%2!=0:
for i in range(0,row//2+2):#菱形层数为单数,上半部分多打印一层:row//2+1,range()左闭右开所以范围是range(row//2+2)
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
print("*",end="")
print("")
for i in range(row//2,0,-1):#倒三角形
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
print("*",end="")
print("")
else :
print("不可以打印")
3)打印空心菱形
row=int(input("输入要打印的层数:"))
if row%2!=0:
for i in range(0,row//2+2):#菱形层数为单数,上半部分多打印一层:row//2+1,range()左闭右开所以范围是range(row//2+2)
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
if j==0 or j==2*i-2:
print("*",end="")
else :
print(" ",end="")
print("")
for i in range(row//2,0,-1):#倒三角形
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
if j==0 or j==2*i-2:
print("*",end="")
else :
print(" ",end="")
print("")
else :
print("不可以打印")
4)
row=int(input("输入要打印的层数:"))
if row%2!=0:
for i in range(0,row//2+2):#菱形层数为单数,上半部分多打印一层:row//2+1,range()左闭右开所以范围是range(row//2+2)
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
if j==0 or j==2*i-2 or j==(2*i-1)//2 or i==row//2+1:
print("*",end="")
else :
print(" ",end="")
print("")
for i in range(row//2,0,-1):#倒三角形
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
if j==0 or j==2*i-2 or j==(2*i-1)//2:
print("*",end="")
else :
print(" ",end="")
print("")
else :
print("不可以打印")
5)
row=int(input("输入要打印的层数:"))
if row%2!=0:
for i in range(0,row//2+2):#菱形层数为单数,上半部分多打印一层:row//2+1,range()左闭右开所以范围是range(row//2+2)
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
if j==0 or j==2*i-2 or j==(2*i-1)//2 or i==row//2+1:
print("*",end="")
else :
print(" ",end="")
print("")
for i in range(row//2,0,-1):#倒三角形
for k in range(0,row-i+1):
print(" ",end="")
for j in range(0,2*i-1):
if j==(2*i-1)//2:
print("*",end="")
else :
print(" ",end="")
print("")
else :
print("不可以打印")