2023年6月29日发(作者:)
python输出星阵_循环嵌套打印三⾓形星星阵Python从⼊门到开发:⼊门篇之⼗七-阿⾥。。。先来回顾⼀下上节课讲过的while语句的循环⽅式以及它的实际应⽤。第⼗六节:while语句习题课下⾯就跟着⽼师⼀起来⾛进循环的“⾼阶”版本吧~循环嵌套按照数学⽼师的惯例,讲授新知识之前先来看⼀道例题:在控制台中打印如下图形:打印⼀个5*5的星星阵。有同学就会想到,写五个输出语句就好啦:print('* * * * *')print('* * * * *')print('* * * * *')print('* * * * *')print('* * * * *')执⾏结果如下:那如果⽼师要你打印100*5,1000*5,8848*5呢。。此时就可以利⽤咱们上节课讲过的循环语句来实现:i=0while i<5 :print('* * * * *')i+=1执⾏结果也是⼀样的。⽽且只需要修改条件表达式i<5中的数字,就可以实现打印100*5,1000*5,8848*5。。等等这些,那⽼师⼜提要求了,我现在想打印10列,我觉得5列太少了,你的第⼀想法是修改print语句⾥⾯的* 数量就可以实现,那么同样的问题来了,我想打印8848*8848怎么办呢?⽤同样的思路:同样对列使⽤循环,这就形成了⼀个循环的嵌套。具体怎么嵌套,跟着⽼师往下看:⾸先在⾥⾯加⼀个内层循环,控制列数:i=0while i<5 :j=0while j<5:print('* ')j+=1i+=1结果会发现执⾏结果变成了:这是为什么呢?在python中,print函数是默认有⼀个n来控制换⾏的,也就是说每打印⼀次*之后就执⾏了⼀次换⾏,那这显然是不⾏的,我们是想让他打印五次再换⾏嘛,就需要在后⾯加⼀个end=''使得这个换⾏的功能⽤空格换掉,再来看⼀下效果:结果发现它全都变成了横向的,这是因为内层的循环再执⾏⼀次5列之后还是执⾏了end=''所以就没有进⾏换⾏操作,此时就需要在内层循环结束加⼀个空的print语句,让其换⾏即可。i=0while i<5 :j=0while j<5:print('* ',end=' ')j+=1print()i+=1执⾏结果为:这就是咱们想要的结果了。综上:循环嵌套时,外层循环执⾏⼀次,内层循环就执⾏了⼀圈(在这⾥就是5次)。内层循环控制图形的宽度,外层循环控制图形的⾼度。此时,我的需求⼜要变化啦,我不想打印“矩形”了,我想打印⼀个“三⾓形”。那该怎么来实现呢?刚刚打印“矩形”的时候⽼师说了,外层循环控制图形的⾼度,内层循环控制图形的宽度,现在图形的⾼度依然是5,所以外层循环是不变的,那么内层循环该怎么变化呢?如果j的值是固定的,那么就是宽度是固定的,但是这个“三⾓形”的宽度是变化的,那咱们来分析⼀下,当i执⾏第⼀次i=0,图形宽度为1,那么j就是⼩于1;当i执⾏第⼆次i=1,图形宽度为2,j就是⼩于2;当i执⾏第三次i=2,图形宽度为3,j就是⼩于3。。。有同学就发现了,j的值是根据i来变化的,j就是⼩于i+1的值。程序如下:i=0while i<5 :j=0while jprint('* ',end=' ')j+=1print()i+=1执⾏结果为:这样美丽的“三⾓形”就绘制出来啦~⼤家在理解⼀下这个逻辑:外层循环执⾏⼀次,内层循环就执⾏⼀圈,外层i的值在变化,就控制了内层j的值。也就控制了图形的宽度。练习1打印99乘法表1*1=11*2=2 2*2=41*3=3 2*3=6 3*9*9=81练习2求100以内所有的质数下节课来公布答案。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1687976458a62736.html
评论列表(0条)