美文网首页
2018-10-30

2018-10-30

作者: 小伙在杭州 | 来源:发表于2018-10-30 16:51 被阅读0次

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开始。
新手学习中,希望能有共同目标的来一起交流。。。

相关文章

网友评论

      本文标题:2018-10-30

      本文链接:https://www.haomeiwen.com/subject/ymggtqtx.html