循环的图形问题,练习长达两年半…
for i in range(5): # 外层循环控制行数
for j in range(5):
print('*',end='')
print() #起换行作用
for i in range(5): #五行
for j in range(i+1): #第一行一个*,即循环一次即i+1次(i从0开始取)
print('*',end='')
print() #内层循环后起换行作用
for i in range(5):
for j in range(5-i):
print('*',end='')
print()
for i in range(5):
for j in range(i+1):
print('*',end='')
print()
for i in range(4):
for j in range(4-i):
print('*',end='')
print()
本题稍微复杂一点,首先要明确思路,其实和上面的图形问题相类似
for i in range(1,10,1):
for j in range(1,i+1):
print(f'{j}*{i}={j*i}',end='')
print()
特殊三角形问题:注重分析
通过观察可知:其实就是在
这个的基础上,
"*"前面多了一个倒三角的空格 => 两个循环
for i in range(1,6):
for j in range(5-i): #第一个循环:输出*前的空格
print(' ',end='')
for w in range(2*i-1)
print('*',end='') #第二个循环:输出*,同时注意*个数与i的关系
print()
for i in range(1,6):
for j in range(5-i):
print(' ',end='')
for w in range(2*i-1):
if i == 1 or i == 5:
print('*',end='')
else:
if w == 0 or w == 2*i-2:
print('*',end='')
else:
print(' ',end='')
print()
for i in range(1,6):
for j in range(5-i):
print(' ',end='')
for w in range(2*i-1):
if w == 0 or w == 2*i-2:
print('*',end='')
else:
print(' ',end='')
print()
for i in range(4,0,-1):
for j in range(5-i):
print(' ',end='')
for w in range(2*i-1):
if w == 0 or w == 2*i-2:
print('*',end='')
else:
print(' ',end='')
print()
每一题都有许多不同的解法,自己动手试试吧
每一题都有许多不同的解法,自己动手试试吧
每一题都有许多不同的解法,自己动手试试吧