Python3 while循环
0基础的我最近在学python,看到while循环这个章节时,初看很简单,但自己在网上找了几个循环练习题,彻底懵逼了...看不懂。
可能是我太笨了,练习题如下:
# 输出10行内容,每行的内容都不一样,第1行一个星号,第2行2个星号,依此类推第10行10个星号(原文:循环练习1 - Yonth_xianRan的博客 - CSDN博客)
orw = 0
while orw < 10:
numble = 0
while numble <= orw:
print("*",end = "") # end=''表示不换行,因为默认是\n换行
numble += 1
orw += 1
print()
我边工作边看这个,看了两天都没看懂!!!周围没有认识的程序员,请教都不知道向谁请教。然后今天貌似突然懂了,写在这里一方面是提醒自己记住,一方面是方便跟我一样0基础完全靠自己自学的人一点点参考。以下正文:
首先赋予row = 0,相当于定义起始行为0,也就是题目要求的10行。
然后设定循环条件 < 10,再赋予变量number = 0,这个变量是接下来循环参考的值。
循环条件:number <= row,
第一次循环:row = 0,number = 0,所以只打印一个。
第二次循环:row = 1,number = 0,所以number <= row这个循环了两次,也就是打印了2个。
第三次循环:row = 2,number = 0,所以number <= row这个循环了三次,也就是打印了3个*。
为什么number始终 = 0,而row += 1?因为number = 0在第一个循环里面,每当循环的时候,number = 0这句话就被执行。
然后执行后面的row += 1,print()其实就是换行的意思,没这个的话,所有的*号全在一行。
离下班还有点时间,我再记一个例题:
# 输出9行内容,,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789。
orw = 0
nums = []
while orw < 9:
orw += 1
nums.append(orw)
print(''.join('%s' % num for num in nums))
这个例题也是上文链接中的,和原文写法不一样,我感觉这样写易于我自己的理解。
创建空列表nums,循环条件 < 9,每增加一个数值时,使用append添加到列表nums的末尾,并使用join方法打印出来,但是join只能用在str,这个是int,所以我用for循环遍历其中的元素,并转化为字符串。
我还发现while循环当中,你书写的顺序,也是它执行的顺序,比如把orw += 1,写在末尾的话,那输出就从0开始了,而非从1开始。
新手学习中,希望能有共同目标的来一起交流。。。