案例:
打印5行5列的正方形,单元格中使用*号进行填充。
想要的结果:
思考:
才5行,可以print打印出来。先来个代码出成果。
思考:
但是如果多了怎么办?1000行?1万行?所以,可以利用个while循环进行实现。
接着思考:
如果这个※ 要求是每行显示1000个呢???-----------------所以,可以利用算术运算符中的 * 乘法,进行计算。
回顾-----算术运算符
利用while嵌套循环试试????看看行不行???
参考嵌套循环相关案例及知识点链接Python---练习:while循环嵌套(用两次while三步走--里外各一次)-CSDN博客
while嵌套循环就是在while循环的基础上,把循环体代码更换为一层while循环(原本就一层,嵌套,就加一层呗),就组成了while嵌套循环。
# 第一步:初始化外层循环计数器
i = 1
# 第二步:编写外层循环的条件
while i <= 3:
# 第四步:初始化内层循环计数器
j = 1
# 第五步:编写内层循环的条件
while j <= 3:
循环体代码
# 第六步:更新内层循环计数器
j += 1
# 第三步:更新外层循环计数器
i += 1
————————————————
OK,有整体结构了,可以想一想,
最外层,就是整体要显示五行,第一次显示出第一个,第二次显示出第二行个………………
最内层,也就是一行中,要显示五次 * ,第一次显示五个,第二次显示五个………………
所以,先试试代码:
思考:
因为是5次* 输出后,进行一次换行,所以,也就是在while j <= 5这整体循环结束一次后,也就是j 是6的时候,不再 <=5了,那么,这个时候,给它塞一个换行,是不是就可以了????
也就类似:每天上课,上午4节课,每节课30分钟,下午4节课,每节课30分钟。
我在上午和下午中间,给你设定一个吃饭时间60分钟,不让你连着上 8节课,不就解决了嘛!!!!哈哈哈,是不是感觉就很棒,思路一下打开了。判断上午4节课结束了,OK,我打断你,print('去吃饭了,休息60分钟'),之后,再判断下午4节课结束了,OK,我打断你,print('去吃晚饭了,休息60分钟')。
就是要相信自己一定能做到,学习各种别人的经验方法,结合自己已知的经验办法,然后,去一步步解决。
全部代码:
# 方法一:直接print打印 print("* * * * *") print("* * * * *") print("* * * * *") print("* * * * *") print("* * * * *") # 方法二:使用单层while循环 i = 1 while i <= 5: print("* * * * *") i += 1 # 方法三:使用单层while循环 + 运算符 i = 1 while i <= 5: print("* " * 5) i += 1 # 方法四:使用while循环嵌套 i = 1 while i <= 5: # print("* * * * *") j = 1 while j <= 5: print("* ", end='') j += 1 # 换行 print('') i += 1
如果真的还是不理解上面代码,那可能是基础不牢固,没有把while循环、循环嵌套搞明白,可以回顾看之前的文章,之后也可以自己试试用Debug工具对while嵌套循环进行调试可知,在正方形案例中,外层的while主要用于控制行row信息,内层的wihle循环主要用于控制列信息col。