如何实现嵌套循环的逻辑
来源:3-24 编程练习
猩哥
2019-09-30 16:53:22
始终不明白这个嵌套循环的逻辑,只能只用单循环解决。
2回答
(1)我是这样想的:
n=1 #使用while循环条件,控制输出的行数 while n < 5: x = 1 #使用while循环条件,输出空格 while x < 5 - n : #条件成立时执行的语句 print(' ',end='') x+=1 y = 1 #使用while循环条件,输出*: while y <= n+(n-1) : #条件成立时执行的语句 print('*',end='') y+=1 # 换行输出 print('\n') n=n+1
(2)思考:外层控制行,内层次控制列。以下是思考过程:
①确定外层控制条件:图中有4行,n从1开始,那么n得小于5,保证有四行。外层关键代码:
while n < 5: # 换行输出 print('\n') n=n+1
②确定内层控制条件:
找关系 - 1.1)观察每行星星的开始位置: 第一行:人眼,第4 第二行:人眼,第3 ... - 1.2)观察每行星星前空格的个数: 第一行:人眼,有 4-1 个 第二行:人眼,有 3-1 个 ... - 2.1)寻找星星每层数与外层数的关系,设控制星星的循环为y 外层n的值:1、2、3、4 每层星星数:1、3、5、7 差值:0,1,2,3 控制条件:y < n - 差值,即: y <= n+(n-1) 第一次外循环 1 <= 1+1-1 第二次循环环 1 <= 2+2-1 ... 控制条件:y < n - 差值(n-1) - 2.2)寻找空格每层数与外层数的关系,设控制空格的循环为x 外层n的值:1、2、3、4 每层空格数:3、2、1、0 求和为:4 ,由于我用的<没使用<=的判断符号,所以采用5 控制条件:x < 5 - n 第一次外循环 1 <= 5-1 第二次循环环 1 <= 5-2 ...
好帮手乔木
2019-10-05
同学你好:
同学可以根据leo_logic同学的思路去完成这个练习。
为了实现练习的效果,建议同学直接print()作为一个换行的效果即可。
如果我解决了同学的问题,请采纳!学习愉快^_^。
相似问题