# ---------------------------- while 表达式1: while 表达式2: 语句块2 # ---------------------------- for 循环变量1in 遍历对象1: for 循环变量2in 遍历对象2: 语句块2 # ----------------------------
生成三行四列*号:
1 2 3 4
for i inrange(1,4): for j inrange(1,5): print('*',end='') print() #换行
生成直角三角形:
1 2 3 4
for i inrange(1,6): for j inrange(1,i+1): print('*',end='') print() #换行
生成倒直角三角形:
***** **** *** ** *
1 2 3 4
for i inrange(1,6): for j inrange(1,7-i): # 1-->5 2-->4 ... print('*',end='') print() #换行
row=eval(input('请输入棱形的行数:')) while row%2==0: print:('请重新输入棱形的行数,限奇数:') row=eval(input('请输入棱形的行数:')) # ---先生成上半部分--- top_row=(row+1)//2# 上半部分行数 for i inrange(1,top_row+1): for j inrange(1,top_row+1-i): print(' ',end='') for k inrange(1,2*i): print('*',end='') print() #换行 # ---在生成下半部分--- bottom_row=row//2 for i inrange(1,bottom_row+1): for j inrange(1,i+1): print(' ',end='') for k inrange(1,2*bottom_row-2*i+2): print('*',end='') print()
row=eval(input('请输入棱形的行数:')) while row%2==0: print:('请重新输入棱形的行数,限奇数:') row=eval(input('请输入棱形的行数:')) # ---先生成上半部分--- top_row=(row+1)//2# 上半部分行数 for i inrange(1,top_row+1): for j inrange(1,top_row+1-i): print(' ',end='') for k inrange(1,2*i): if k==1or k==2*i-1: print('*',end='') else: print(' ',end='') print() #换行 # ---在生成下半部分--- bottom_row=row//2 for i inrange(1,bottom_row+1): for j inrange(1,i+1): print(' ',end='') for k inrange(1,2*bottom_row-2*i+2): if k==1or k==2*bottom_row-2*i+2-1: print('*',end='') else: print(' ',end='') print()