欢迎光临
我们一直在努力

Python五. 程序控制结构(详细解释)

1. 程序流程控制介绍

2. 顺序控制

2.1 顺序控制介绍

程序从上到下逐行执行,中间没有任何判断和跳转

2.2属性控制举例和注意事项

示意图

案例

3. 分支控制if-else

3.1 介绍

3.2 单分支

  • 基本语法

单分支是通过if语句来实现的,if语句的基本语法如下:

  • if基本语法说明

  • 当条件表达式为True时,就会执行代码块,如果为False,就不执行

  • Python缩进非常重要,是用于界定代码块的,相当于其他编程语言的大括号{}

  • if_detail.py

    # 1. 当条件表达式为True时,就会执行代码块,如果为False,就不执行
    # 2. Python缩进非常重要,是用于界定代码块的,相当于其他编程语言的大括号{}

    if 4<1 :
    print("ok1")
    print("ok2")

    print("ok3")
    # 由于缩进不同,也就是不是同一个代码块,所以if控制不到下面的ok3

    3. 最短的缩进对较长的有包含关系,缩进前后没有要求,但是每个代码应具有相同的缩进长度(TAB或者相同个数的空格)

    if_detail.py

    # 3. 最短的缩进对较长的有包含关系,
    # 缩进前后没有要求,但是每个代码应具有相同的缩进长度(TAB或者相同个数的空格)
    if 100>20:
    print("ok4")
    print("ok5")#写两个tab,只要对齐就可以
    if 8<2:
    print("ok6")

    小结:可以看出,和其它语言对比:其它语言的代码块是用{}表示的python缩进就代替了{}

    • 案例,创建:if_1.py

    请编写一个程序,可以输入人的年龄,如果该小伙伴的年龄大于18岁,更测输出"你年龄大于18,要对自己的行为负责!"

    """
    思路分析:
    1.定义变量age,接收用于输入(注意要转换成整数)
    2.使用if判断即可
    """
    age = int(input("请输入小伙伴的年龄:"))
    if age >18:
    print("你年龄大于18,要对自己的行为负责!")

    • 单分支的流程图

    3.3 双分支

    • 基本语法

    • if-else基本语法说明

  • if、else是关键字,是规定好的

  • 当条件表达式成立,即执行代码块1.否则执行代码坎2,注意,不要少写了冒号:

    • 应用实例,创建:if_2.py

    编写一个程序,可以输入人的年龄,如果该小伙伴的年龄大于18岁,则输出"你年龄大于18,要对白己的行为负责!"。否则,输出"你的年龄不大,这次放过你了

    """
    思路分析:
    1.定义变量age,接收用户输入(注意要转成整数)
    2.使用if-else判断即可
    """

    age=int(input("请输入小伙伴的年龄:"))
    if age > 18:
    print("你年龄大于18,要对自己的行为负责!")
    else:
    print("你的年龄不大,这次放过你了")

    • 双分支的流程图

    3.4 单分支和双分支的课后练习题

    1. 对下列代码,若有输出,指出输出结果(2min),if_exercisse01.py

    #代码
    x = 4
    y=1
    if x>2:
    if y>2:
    print(x + y)
    print("韩顺平教育~")
    else:
    print("x is", x)
    #结果:韩顺平教育~

    2. 编写程序,定义2个整数变量并赋值,判断两数之和,如果大于等于50,打印"hello world!" [文件:if_exercise02.py]

    # 编写程序,定义2个整数变量并赋值,判断两数之和,
    # 如果大于等于50,打印"hello world!"

    """
    思路分析:
    1.定义变量num1,num2并赋值
    2. 判断num1+num2>=50,是否成立,使用if单分支
    """

    num1 = 15
    num2 = 60
    if num1 + num2 >= 50:
    print("hello world!")

    3. 编写程序,定了2个float型变量并赋值,如果第一个数大于10.0且第2个数小于20.0打印两数之和 [文件:if_exercise03.py]

    #编写程序,定了2个float型变量并赋值,
    # 如果第一个数大于10.0且第2个数小于20.0打印两数之和

    """
    思路分析:
    1.定义变量num1,num2并赋值
    2. 判断num1>10.0 and num2<20.0是否成立使用if单分支
    3.根据判断结果输出:num1+num2
    """

    num1 = 12.5
    num2 = 15.9
    if num1 >10.0 and num2 < 20.0:
    print(f"{num1}+{num2}={num1+num2}")

    4. 【选作】定义两个变量int类型判断二者的和,是否能被3又能被5整除,打印提示信息 [文件:if_exercise04.py]

    # 【选作】定义两个变量int类型判断二者的和,
    # 是否能被3又能被5整除,打印提示信息

    """
    思路分析:
    1.定义两个变量num1 和num2并赋值
    2. 判断(num1+num2)%3 == 0 and (num1+num2)%5 == 0 使用双分支if-else
    3. 输出结果
    """
    num1 = 10
    num2 = 2
    if (num1+num2)%3 == 0 and (num1+num2) % 5 == 0:
    print(f"{num1+num2}能被3又能被5整除")
    else:
    print(f"{num1 + num2}不能被3又能被5整除")

    5. 判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除2)能被400整除

    [文件:if_exercise05.py]

    #5. 判断一个年份是否是闰年,闰年的条件是符合下面二者之一:
    # (1)年份能被4整除,但不能被100整除(2)能被400整除

    """
    思路分析:
    1. 定义变量year,并赋值
    2. 判断(year%4==0 and year%100!=0) or year%400 ==0,使用双分支if-else
    3. 输出判断结果
    """

    year = 2026
    if (year%4==0 and year%100!=0) or year%400 ==0:
    print(f"{year}是闰年!")
    else:
    print(f"{year}不是闰年!")

    3.5 多分支

    • 基本语法

    • 多分支的流程图

    • 案例演示

    案例演示,创建:if_3.py

    小头儿子参加python考试,他和大头爸爸达成承诺:

    如果:

    成绩为100分时,奖励一辆BMW:

    成绩为(80,99]时,奖励一台iphone13:

    当成绩为[60,80]时,奖励一个iPad:

    其它时,什么奖励也没有。

    请从键盘输入小头儿子的期末成绩,并加以判断

    """
    思路分析:
    1.定义变量score接受成绩,转成一个int类型
    2. 根据成绩进行判断,输出相应的提示信息
    3. 使用多分支 if–elif–else
    """
    score = int(input("请输入成绩[整数]:"))
    if 0 <= score <= 100: #python可以简化,其他语言不行
    if score ==100:
    print("奖励一辆BMW")
    elif 80 < score <= 99:
    print("奖励一台iphone13")
    elif 60 <= score <= 80:
    print("奖励一个iPad")
    else:
    print("没有奖励")
    else:
    print(score,"不在范围内")

    结果:输出b

    3.6 多分支课后练习题

    """
    思路分析:
    1.定义三个变量,height,money,handsome,接受用户输入
    2.根据输入+题目给出的判断条件进行多分支判断,输出相应提示
    3.使用if-elif-else
    """
    height = float(input("身高(cm):"))
    money= float(input("钱(万):"))
    handsome = input("颜值(帅,不帅!):")
    if height>180 and money>1000 and handsome=="帅":
    print("我一定要嫁给他!")
    elif height>180 or money > 1000 or handsome== "神":
    print("嫁吧,比上不足,比下有余…")
    else:
    print("不嫁!")

    4. 嵌套分支

    4.1 基本介绍

    • 基本介绍

  • 嵌套分支:在一个分支结构中又嵌套了另一个分支结构

  • 里面的分支的结构称为内层分支,外面的分支结构称为小层分支

  • 规范:不要超过3层(可读性不好)

    • 基本语法

    4.2 应用案例

    1. 参加歌手比赛,如果初赛成绩大于8.0进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。输入成绩和性别,进行判断和输出信息。「文件:nesteed_if_example1.py]

    """
    思路分析:
    1.定义两个变量用sex,grade,接收用户输入
    2. 用嵌套分支完成,如果成绩大于8.0则进入if,否则淘汰
    3. 在if分支内,如果sex为女,分到女子组,否则男子组
    """

    grade = float(input("请输入成绩:"))
    if grade > 8.0:
    sex = input("请输入性别:")
    if sex =='女':
    print("你被分到了女子组!")
    else:
    print("你被分到了男子组!")
    else:
    print("你被淘汰了!")

    2. 出票系统:根据淡旺季的月份和年龄,打印票价[课后练习][nested_if_example2.py]

    4-10旺季:

    成人(18-60):60

    儿童(<18):半价

    老人(>60):1/3

    淡季:

    成人:40

    其他:20

    """
    思路分析:
    1. 定义两个变量month,age,用户输入赋值
    2. 使用嵌套分支,if旺季if成人elif儿童–else老人—else淡季同理
    3. 根据要求给出提示信息
    """

    month = int(input("请输入月份:"))
    age = int(input("请输入年龄:"))

    if 4<=month<=10:
    if age>60:
    print("价格为1/3,20")
    elif age>18:
    print("60原价")
    else:
    print("半价,30")
    else:
    if 18<=age<=60:
    print("价格40")
    else:
    print("价格20")

    5. for循环控制

    5.1 看一个实际需求

    • 看一个实际需求

    请大家看个案例[for_01.py]:编写一个程序可以打印10句"你好,韩顺平教育!"。请大家想想怎么做?

    5.2基本介绍

    • for循环-基本介绍

    for循环听其名而知其意,就是让你的代码可以循环的执行,是通过for语句来实现的.

    • for语句-基本语法

    for<变量>in<范围/序列>:

    <循环操作语句>

    • for基本语法说明

  • for、in是关键字,是规定好的

  • <范围/序列>可以理解要处理的数据集,需要是可选代对象(比如字符串,列表等..)

  • 循环操作语句,这里可以有多条语句,也就是我们要循环执行的代码,也叫循环体

  • python的for循环是一种"轮询机制",是对指定的数据集,进行"轮询处理"

  • 5.3 for循环的流程分析

    • 使用for循环完成前面的题,文件:for_01.py

    #编写一个程序可以打印10句"你好,韩顺平教育!"。请大家想想怎么做?

    # 定义一个列表(后面详细介绍),可以视为一个数据集
    nums = [1,2,3,4,5,6,7,8,9,10]
    # for<变量>in<范围/序列>:
    # <循环操作语句>
    # 每次循环的时候,依次将nums的值取出赋给i
    for i in nums:
    print("你好,韩顺平教育!",i)

    for i in [1,2,3,4]:
    print("你好,韩顺平教育!",i)

    • 画出流程图

    • 代码执行内存分析法图

    驻留机制:只要值相同,变量指向的空间就相同

    5.4 注意事项和细节说明

  • 循环时,依次将序列中的值取出赋给变量

  • 如需要遍历数字序列,可以使用内置range()函数,它会生成数列。range()生成的数列是前闭后开

  • (for_detail.py)

    #range函数的解读

    class range(stop)

    class range(start, stop, step=1)

    #1.虽然被称为函数,但range实际上是一个不可变的序列类型

    #2.range默认增加的步长step是1,也可以指定,start默认是0

    #3.通过list()可以查看range()生成的序列包含的数据

    #4.range()生成的数列是前闭后开range(1,5)–1,2,3,4

    #1.需求:生成一个[1,2,3,4,5]

    #2.需求:生成一个[0,1,2,3,4,5]

    #3.需求:生成一个[1,3,5,7,9]

    #4. 需求使用for+range方式输出10句"hello,python"

    #range函数的解读
    # class range(stop)
    # class range(start, stop, step=1)
    #1.虽然被称为函数,但range实际上是一个不可变的序列类型
    #2.range默认增加的步长step是1,也可以指定,start默认是0
    #3.通过list()可以查看range()生成的序列包含的数据
    #4.range()生成的数列是前闭后开range(1,5)–1,2,3,4
    #1.需求:生成一个[1,2,3,4,5]
    # r1 = range(1,6,1)
    r1 = range(1,6)
    print("r1=",list(r1))
    #2.需求:生成一个[0,1,2,3,4,5]
    r2 = range(6)
    print("r2=",list(r2))
    #3.需求:生成一个[1,3,5,7,9]
    r3 = range(1,10,2)
    print("r3=",list(r3))
    #4. 需求使用for+range方式输出10句"hello,python"
    for i in range(10):
    print("hello python")
    # 解决之前想要循环数量较大的时候的问题,直接在range(10000)

    3. for可以和else配合使用

    1)先演示一下,后面学习了break,再回头加强一下

    2)语法格式

    3)使用案例for_else.py

    #for-else使用案例
    nums=[1,2,3]

    for i in nums:
    print("你好,韩顺平教育",i)
    if i ==2:
    break
    else:
    print("没有循环数据了..")

    5.5 for循环的课堂练习

    6. while循环

    6.1 基本语法

    • 基本介绍

    while循环用于在表达式为真的情况下,重复的(循环的)执行,是通过while语句来实现的.

    • while语句-基本语法

    while判断条件(condition):

    循环操作语句(statements)……

    • while基本语法说明

  • while是关键字,是规定好的

  • 当判断条件为True时,就执行循环操作语句,如果为False,就退出while

  • 循环操作语句,这里可以有多条语句,也就是我们要循环执行的代码,也叫循环体

  • 6.2 while循环执行流程分析

    • 使用while循环完成前面的题,while_01.py

    """
    思路分析
    1.定义变量i=1
    2.使用while循环判断i<=10,如果为真就执行"hello,韩顺平教育"
    3.注意i的值要不断的增加i+=1

    """

    i = 1
    while i<=10:
    print("hello")
    i += 1

    • 画出流程分析图

    • 代码执行内存分析图

    6.3 注意事项和细节说明

  • while可以和else配合使用

  • 1)这里先给人家演示一下,后面学习了break,再回头加强一下

    2)语法格式

    3)使用案例 while_else.python

    #while-else使用案例
    i = 0
    while i < 3:
    print("你好,韩顺平教育",i)
    i += 1
    if i ==1 :
    break
    else:
    print("i<3不成立i=",i)

    6.4 课堂练习

    #1、打印1-100之间所有能被3整除的数
    """
    思路分析:
    1.定义变量i = 1 max_num=100
    2.如果i%3==0.说明当前i可以被3整除的
    3.满足条件输出即可,注意变量时i+=1
    """
    i = 1
    max_num = 100

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

    # 2、打印40-200之间所有的偶数

    """
    思路分析:
    1.定义i=40 max_num=200,衣示我们要遍历的范围while
    2.如果i%2==0,说明当前i是偶数
    3.满足条件输出即可,注意遍历时1+=1
    """

    i = 40
    max_num = 200
    while i<max_num:
    if(i%2==0):
    print(i)
    i+=1

    # 3、不断输入姓名,直到输入"exit"为止
    """
    思路分析:
    1. 定义变量name接受用户输入
    2. 使用while判断,如name!="exit",就循环输出即可
    """

    name = ""

    while name!="exit":
    name = input(print("请输入用户姓名:"))
    print("你输入的内容是:",name)

    # 打印1~100之间所有是9的倍数的整数,统计个数 及 总和
    """
    思路分析:
    1. 定义变量i = 1,max_num =100,表示要遍历的范围
    2. 使用while循环,如果i%9===9,说明是8的倍数
    3. 定义变量count统计个数count+=1,定义sum统计总和,sum+=i
    """

    i = 1
    max_num = 100
    count = 0
    sum = 0
    while i<max_num:
    if i%9==0:
    count+=1
    sum+=i
    print(i)
    i+=1
    print(f"1~100之间可以被9整除的个数为{count},总数为{sum}")
    """
    不可以是 101。虽然在这个特定的题目中,因为 100 不是 9 的倍数不会导致最终统计的“个数”出错,
    但它会导致程序错误地打印出数字 100,属于逻辑上的错误。为了严格限定范围并保证代码准确性,max_num必须是 100。
    """

    """
    思路分析:
    1.定义一个变量num,接收用户的输入整数,定义一个i= 0
    2.遍历0-num,第一个加数是0-num,第二个加数是num-0
    3.使用while循环完成即可

    """

    num = int(input("请输入一个整数:"))
    i= 0

    while i<=num:
    print(f"{i}+{num-i}={num}")
    i+=1

    7. 多重循环控制(难点,重点)

    7.1 介绍

  • 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while均可以作为外层循环和内层循环。【建议】一般使用两层,最多不要超过3层,否则代码的可读性不好

  • 2. 实质上,嵌套循环就是把内层循环当成外层循环的循环体

    3. 如果外层循环m次,内层为n次,则内层循环实际上需要执行m*n次,文件【multiply_for.py】

    7.2 经典的打印金字塔

    • 使用for 循环完成下面的案例

    请编写一个程序,可以接收一个整数,表示层数(total_level),打印出空心金字塔。[化繁为简,先死后活]

  • 完成思想,可以先从矩形开始打

  • 2. 代码实现,文件stars.py

    """"
    请编写一个程序,可以接收一个整数,表示层数(total_level),
    打印出空心金字塔。
    """

    """
    思路分析:
    -先死后活
    1. 先不考虑层数的变化,假定就是5层,后面做活
    -化繁为简
    1. 打印矩形
    2. 打印直角三角形
    3. 打印金字塔
    4. 打印空心金字塔
    """

    """
    1.打印矩形
    *****
    *****
    *****
    *****
    """

    for i in range(1,6):
    # j 控制每层输出的*号个数
    for j in range(1,6):
    # 这里end=""表示输出不换行,C语言直接printf,它在循环外printf("\\n");
    # C++:cout << "*"; 内循环外cout << endl;
    # python的print直接换行,c/c++要手动换行
    print("*",end="")
    # 每层输出后换行
    print("")

    """
    2.打印直角三角形
    * 1层:1个*
    ** 2层:2个*
    *** 3层:3个*
    **** 4层:4个*
    ***** 5层:5个*
    """

    for i in range(1,6):
    # j 控制每层输出的*号个数
    for j in range(i):#第几层就打印几颗星(1,i+1)也行
    print("*",end="")
    # 每层输出后换行
    print("")

    """
    3.打印金字塔
    * 1层:1个* 2*1-1 空格:4(总层数-当前层数)
    *** 2层:3个* 2*2-1 空格:3
    ***** 2层:5个* 2*3-1 空格:2
    ******* 2层:7个* 2*4-1 空格:1
    ********* 2层:9个* 2*5-1 空格:0
    """

    for i in range(1,6):
    # k控制输出空格数
    for k in range(5-i):
    print(" ",end="")
    # j 控制每层输出的*号个数
    for j in range(2*i-1):#控制*个数
    print("*",end="")
    # 每层输出后换行
    print("")
    """
    4. 打印空心金字塔
    * 分析:第一层一颗星,最后一层全输出,其他每层两边输出*
    * *
    * *
    * *
    *********
    """
    # 总层数

    total_level = int(input("请输入金字塔的层数:"))

    for i in range(1,total_level+1):
    # k控制输出空格数,和前面一样
    for k in range(total_level-i):
    print(" ",end="")
    # j 控制每层输出的*号个数
    for j in range(2*i-1):#控制*个数,在这里改逻辑
    # 最外面要有星号(0,2*i-1-1),最后一排全星
    if j==0 or j==2*(i-1) or i==total_level:
    print("*",end="")
    else:# 其余空格
    print(" ",end="")

    # 每层输出后换行
    print("")

    n =int(input("请输入棱形的上半部分层数:"))
    # 上半部分
    # i 控制行数
    for i in range(1,n+1):
    # j控制空格数
    for j in range(n-i):
    print(" ",end="")
    # k控制*的个数
    for k in range(2*i-1):
    if k ==0 or k==2*(i-1):
    print("*",end="")
    else:
    print(" ",end="")
    print("")
    # 下半部分
    for i in range(n-1,0,-1):
    for j in range(n-i):
    print(" ",end="")
    for k in range(2*i-1):
    if k == 0 or k == 2 * (i – 1):
    print("*", end="")
    else:
    print(" ", end="")
    print("")

    7.3 应用实例

    """
    1、统计3个班成绩情况,每个班有5名同学,要求完成
    1)求出各个班的平均分和所有班级的平均分,学生的成绩从键盘输入
    2)统计三个班及格人数
    """

    """
    重要的编程思路:(1)化繁为简[先统计一个班](2)先死后活[先考虑三个班,各有5个学生]
    1.统计1个班成绩情况,求出一个班的平均分
    2.统计3个班成绩情况,求出各个班的平均分、所有班级的平均分和厂格人数
    """
    # 定义相关变量
    # 定义班级个数
    class_num = int(input("请输出班级个数:"))
    # 学生个数
    student_num = int(input("请输出学生个数:"))
    # 统计一个班的总分
    # sum = 0.0
    # 统计所有班级的总分
    total = 0.0
    # 统计所有及格人数
    pass_num = 0
    for j in range(1,class_num+1):
    # 统计一个班成绩情况,求出一个班的平均分for循环5次,接受学员的成绩
    # 统计每个班的总分前,需要清零,不然每个班都要加在sum上
    sum = 0.0
    for i in range(1,student_num+1):
    score = float(input(f"请输入第{j}班第{i}学生成绩:"))
    # 判断是否及格
    if score>=60:
    pass_num += 1
    # 累加到sum
    sum += score
    print(f"第{j}班级的平均分{sum / class_num}")
    # 将sum累加到total
    total += sum
    # 输出所以班级的平均分和及格人数,注意加(),不然就只会除以5,再乘3
    print(f"所有班级的平均分:{total/(5*3)}及格人数:{pass_num}")

    """
    题目:打印九九乘法表
    """

    """
    思路分析:
    1. 使用for循环,首先控制行
    2. 在内层再次使用for循环,控制列
    3. 打印输出,控制好格式
    """
    # 控制行,1-9行
    for i in range(1,10):
    # 控制列,打印列
    for j in range(1,i+1):
    # 控制右对齐,留两位位置
    print("{}*{}={:2}".format(i,j,i*j),end = " ")
    print()

    8. break语句

    8.1 先看一个需求

    思路分析:

    -使用循环,但是循环的次数不知道.

    -引出break,当某个条件满足时,使用break语句,可以提前终止循环

    -通过该需求可以看出break的必要性

    8.2 基本介绍

    • 说明

    break语句用于终止某个语句块的执行,使用在循环中

    • 基本语法

    8.3 以while使用break为例,画出流程图

    break语句流程图

    8.4 快速入门

    • 完成前面需求:随机生成1-100的一个数,直到生成了97这个数,看看你一共用了几次?num_break.py

    # 随机生成1-100的一个数,直到生成了97这个数,看看你一共用了几次?
    """
    思路分析
    1.定义变量count统计一共用了多少次,count+=1
    2.使用while true无限循环生成随机数,直到生成97就过出
    3.输出count即可
    """
    import random

    # 定义计数器
    count = 0

    # 无限循环判断什么时候生成97
    while True:
    # 生成随机数
    n = random.randint(1,100)
    count +=1
    if n==97:
    break
    print(n)

    print(f"生成97这个数需要{count}次")

    8.5 注意事项和细节说明

  • break语句是用在for或while循环所嵌套的代码

  • 它会终结最近的外层循环,如果循环有可选的else子句,也会跳过该子句

  • # 2. 它会终结最近的外层循环,如果循环有可选的else子句,也会跳过该子句
    count= 0
    while True:
    print("hi while")
    count += 1
    if count== 3:
    # 这个终止外层的循环
    break
    while True:
    print("OK while")
    # 这个break只会终止最近的这个循环
    break
    else:
    # 有break中断,不会执行
    print("Hello,while")

    3. 如果for循环被break所终结,该循环的控制变量会保持其当前值

    # 3. 如果for循环被break所终结,该循环的控制变量会保持其当前值
    nums=[1,2,3,4,5,6]
    for i in nums:
    # if i > 3:
    # break
    print("ok")
    print("i=", i)

    8.6 课堂练习

    # 1-100以内的数求和,求出当和第一次大于20的当前控制循环的变量值是多少?
    """
    思路分析
    1.定义变量sum累加和
    2.for遍历1-100,当sum>20时,就退出for-break
    3.输出当前的控制循环的变量值即可
    """

    # 定义变量sum累加和
    sum = 0
    # 遍历1-100
    for i in range(1,101):
    # 累加
    sum +=i
    # 判断
    if sum>20:
    break
    print(i)

    # 2、实现登录验证,有三次机会,如果用户名为"张无忌",
    # 密码"888"提示登录成功,否则提示还有几次机会,请使用for+break完成
    """
    思路分析:
    1.实现登录验证,有3次机会,我使用for循环3次
    2.接收用户的输入(名字name+密码pwd),如果满足条件,家break
    3.根据登录的情况,提示成功/还有几次登录机会
    """
    count = 0
    # 登录三次
    for i in range(3):
    count+=1
    user_name = input("请输入用户名:")
    num =int(input("请输入密码:"))
    # 判断是否成功
    if user_name =="张无忌" and num==888:
    print("登录成功")
    break
    print(f"还有{3 – count}次")
    else:
    print("次数用完")

    9.continue语句

    9.1 基本介绍

    • 说明

  • continue语句用于for或while循环所嵌套的代码中

  • continue语句用于结束本次循环,继续执行循环的下一个轮次

  • 继续执行的是:该continue最近的外层循环的下一个轮次

    • 基本语法

    9.2 以while使用continue为例,画出流程图

    9.3 快速入门

    9.4 课堂练习题

    10. return语句

    • 基本介绍

  • return使用在函数,表示跳出所在的函数

  • 在讲解函数的时候,会详细的介绍,这里我们简单的演示下

  • 11.本章作业

    # 某人有100,000元,每经过一次路口,需要交费,规则如下:
    # 当现金>50000时,每次交5%
    # 当现金<=50000时,每次交1000
    # 编程计算该人可以经过多少次路口,使用while+break方式完成
    """
    思路分析
    1.定义变量money=100000 表示钱的数量
    2.定义变量count=0用来统计经过了多少个路口
    3.使用while无限循环,按照过路口付款的规则来减少money,直到不够过路口为止,break
    4.最后输出count即可
    """

    # 定义钱变量
    money = 100000

    # 定义经过多少路口
    count = 0

    # 使用while无限循环,按照过路口付款的规则来减少money,直到不够过路口为止,break
    while True:

    # 当现金>50000时,每次交5%
    if money>50000:
    count+=1
    money-=money*0.05
    # 当现金 <= 50000时, 每次交1000
    elif money>=1000:
    count += 1
    money-=1000
    else:
    break

    print(f"该人可以经过{count}次路口,剩余{money}元")

    注意:

    else可以没有,elif可以有多个

    赞(0)
    未经允许不得转载:171主机测评 » Python五. 程序控制结构(详细解释)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址