【python从入门到实战】四. 循环语句while

目标

    * while基本使用

    *break和continue

    *while循环嵌套

 

一. 程序的主要流程:

    1.顺序-> 从上而下执行代码

    2.分支-> 根据判断条件

    3.循环-> 让特定代码重复执行

二. while基本语法:      while 条件(判断是否满足,不满足就跳出,不执行while块内的代码):

                                               满足条件就执行,不满足条件就跳出

                                               所以内部一定有改变条件的代码

案例一:计算100以内的偶数求和

result = 0
i = 1
while i <= 100:  #条件
    if i%2:           #判断是否为偶数
        result+=i
    i+=1       #改变条件
print(result)

案例二:我们把当时的石头剪刀布改一下,若电脑赢了我或平局就继续,知道我赢才结束

import random
flag = True
while flag:   #判断条件
    print("石头-1,剪刀-2,布-3")
    player = int(input("选手出:"))
    computer = random.randint(1, 3)  # 随机生成1到3的整数

    if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)):
        print("你赢了电脑")
        flag = False   #改变条件
    elif ((player == 1 and computer == 1) or (player == 2 and computer == 2) or (player == 3 and computer == 3)):
        print("平局")
    else:
        print("电脑赢了")

    print("computer: %d player: %d" % (computer, player))

三. break 和 continue

     1.都是在循环语句执行的

     2. break 满足某一条件,【退出循环】,不再执行后面的重复

     3. continue 满足某一条件 不执行后续代码,直接返回循环语句

    比如break的场景:在100中输出前10个数,当到达11时就会退出循环,不执行后面代码

 

i = 1
while i < 100:
    if i == 11:
        break  #满足条件退出循环
    print(i)
    i+= 1    

continue应用场景:在100中打印出不能除以三的数字,也就是当数字可以除以三就返回循环,不用打印

i = 1
while i < 100:
    if i%3 == 0:
        i += 1
        continue
    print(i)
    i += 1
    

 

四. while的循环嵌套

    嵌套的意思就是while里面有while,当然也可以一直嵌套

    语法形式:while 条件1:

                            执行的代码

                            while 条件2:

                                   执行的代码

                                   while 条件3:

                                          .......

比如我们要输出像这样的星星

* 
* * 
* * * 
* * * * 
* * * * * 

分析上面的星星输出情况 1 第一行为一个,第二行为两个,第五行为五个,所以每行的个数都和行数相等

                                         2 假设row为行数,一共有五行(用while条件用的 row <=5)

                                         3 用col表示每行的个数,因为每行的个数都时和行数相等,所有用col = 1,且用while条件 col <= row

                                          ,这样就可以得到row个星星,当然必须在第row行时,等第row行的row个星星画完才可以换行

row = 1
while row <= 5:
    col = 1
    while col <= row:
        print("*", end = " ")   #end 添加可以防止print换行,且可以在每次输出*可以添加空格
        col += 1
    print("")   #换行
    row += 1

案例九九乘法表和上面时一样的理解,但是乘法表中的数字,我们可以用 row * col = row * col

打印出这样的九九乘法表

1 * 1 = 1  
2 * 1 = 2  2 * 2 = 4  
3 * 1 = 3  3 * 2 = 6  3 * 3 = 9  
4 * 1 = 4  4 * 2 = 8  4 * 3 = 12  4 * 4 = 16  
5 * 1 = 5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
6 * 1 = 6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
7 * 1 = 7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
8 * 1 = 8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
9 * 1 = 9  9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81  

row = 1
while row <= 9:
    col = 1
    while col <= row:
        print("%d * %d = %d" %(row, col, row * col), end = "  ")
        col += 1
    print("")
    row += 1

 

 

 

 

 

 

 

 

 

 

 

【为什么学PythonPython 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不仅仅是项目上的收益,我们更可以从它“开放、简洁”哲学观念得到技术发展路线的启示。 借此机会,老齐联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。 【课程设计】 本课程共包含三大模块: 一、基础知识篇 内置对象和基本的运算、语句,是Python语言的基础。本课程在讲解这部分知识的时候,不是简单地将各种知识做简单的堆砌,而是在兼顾内容的全面性的同时,更重视向学习者讲授掌握有关知识的方法,比如引导学习者如何排查错误、如何查看和理解文档等。   二、面向对象篇 “面向对象(OOP)”是目前企业开发主流的开发方式,本课程从一开始就渗透这种思想,并且在“函数”和“类”的学习强化面向对象开发方式的学习——这是本课程与一般课程的重要区别,一般的课程只在“类”这里才提到“对象”,会导致学习者茫然失措,并生畏惧,乃至于放弃学习。本课程则是从开始以“润物细无声”的方式,渗透对象概念,等学习到本部分的时候,OOP对学习者而言有一种“水到渠成”的感觉。   三、工具实战篇 在项目实战,除了前述的知识之外,还会用到很多其他工具,至于那些工具如何安装?怎么自己做工具?有那些典型工具?都是这部分的内容。具体来说,就是要在这部分介绍Python标准库的应用以及第三方包的安装,还有如何开发和发布自己的工具包。此外,很多学习Python的同学,未来要么从事数据科学、要么从事Web开发,不论哪个方向,都离不开对数据库的操作,本部分还会从实战的角度,介绍如何用Python语言操作常用数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值