2018-10-30

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,417评论 0 2
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,505评论 0 13
  • 我也学学毕淑敏老师,写写自己的夏日小语。 自由是什么,对于大多数普通人追求的可能是财务自由,行为自由...
    萧萧归去阅读 139评论 0 0
  • 我想说Promise真的是繁重 首先你要知道Promise是用来解决回调深渊的 promise.then.catc...
    cnOWgo阅读 439评论 0 0
  • 爱若不放电,空若电线杆,爱若不潇洒,呆如池塘蛙,爱若不表达,憋死别说啥,大声说出来,早就把你爱,明白不明白,...
    风雨一起走阅读 324评论 0 0