• Python学习-流程图、分支与循环(branch and loop)


    十、流程图

    1、流程图(Flowchart)

    流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。
    好处:
    1)代码的指导文档
    2)有助于规划高效率的程序结构
    3)便于与他人交流
    在这里插入图片描述
    流程图的思维是至上往下走的,线性逻辑的思维模式。

    2、函数(function)

    函数就是对一段代码进行封装。

    3、思维导图(Mind Map)

    思维导图又叫心智图,是表达发散性思维的有效的图形思维工具,它简单却又极其有效,是一种革命性的思维工具。

    十一、分支与循环(branch and loop)

    1、分支结构 - if语句

    Python的分支结构由if语句来实现的,有5种语法:
    1)判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。包含的语句使用缩进,缩进决定了从属关系。

    if condition:
         statement(s)
    
    • 1
    • 2

    举例:

    if 3<5:
        print("我在里面")
        print("我也在里面")
    print("我在外面")
    
    • 1
    • 2
    • 3
    • 4

    2)判断一个条件:
    如果条件成立,就执行其包含的某条语句或某个代码块
    如果条件不成立,就执行另外的某条语句或某个代码块

    if condition:
         statement(s)
    else:
         statement(s)
    
    • 1
    • 2
    • 3
    • 4

    举例:

    if "小甲鱼" == "小姐姐":
        print("小甲鱼是小姐姐!")
    else:
        print("小甲鱼不是小姐姐!")
    
    • 1
    • 2
    • 3
    • 4

    3)判断多个条件:
    如果第1个条件不成立,则继续判断第2个条件,如果第2个条件还不成立,则接着判断第3个条件……

    if condition1:
         statement(s)
    elif condition2:
         statement(s)
    elif condition3:
         statement(s)
    ……
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    举例:

    score = input("请输入你的分数:")
    score = int(score)
     
    if 0<= score < 60:
        print("D")
    elif 60<= score < 80:
        print("C")
    elif 80<= score < 90:
        print("B")
    elif 90<= score < 100:
        print("A")
    elif score == 100:
        print("S")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4)多条件else:
    第4种是在第3种的情况下添加一个else,表面上面所有的条件均不成立的情况下,执行某条语句或某个代码块。

    if condition1:
         statement(s)
    elif condition2:
         statement(s)
    elif condition3:
         statement(s)
    ……
    else:
         statement(s)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    举例:

    score = input("请输入你的分数:")
    score = int(score)
     
    if 0<= score < 60:
        print("D")
    elif 60<= score < 80:
        print("C")
    elif 80<= score < 90:
        print("B")
    elif 90<= score < 100:
        print("A")
    elif score == 100:
        print("S")
    else:
        print("请输入 0~100 之间的分值!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    5)条件表达式
    条件成立时执行的语句 if condition else 条件不成立时执行的语句
    举例:
    正常表达式:

    age = 16
    if age < 18:
       print("抱歉,未满18岁禁止访问。")
    else:
      print("欢迎您来~")
    
    • 1
    • 2
    • 3
    • 4
    • 5

    条件表达式:

    age = 16
    print("抱歉,未满18岁禁止访问。")  if age < 18 else print("欢迎您来~")
    
    • 1
    • 2

    案例4的条件表达式:

    score = 66
    level = ('D' if 0<= score <60 else
               'C' if 60<= score <80 else
               'B' if 80<= score <90 else
               'A' if 90<= score <100 else
               'S' if  score == 100 else
               "请输入 0~100 之间的分值!")
    print(level)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、分支结构的嵌套

    举例:

    age = 18
    isMale = True
    if age <18 :
        print("抱歉,未满18岁禁止访问。")
    else:
        if isMale:
              print("任君选购!")
        else:
              print("抱歉,本店商品可能不适合小公举哦")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3、循环结构

    (1)while循环
    只要条件成立,其包含的某条语句或某个语句块就会一直被执行。

    while condition:
             statement(s)
    
    • 1
    • 2

    举例:

    love = "yes"
    while love == "yes":
            love = input("今天你还爱我吗?")
    
    • 1
    • 2
    • 3

    (2)for循环
    下面可以看到,第5部分

    (3)退出死循环
    1)break
    2)continue:
    continue也会跳出循环体,但只是跳出本轮循环,它还会回到循环体的条件判断位置,然后继续下一轮的循环。
    举例:

    i = 0
    while i < 10:
         i += 1
         if i % 2 == 0:
                 continue
         print(i)
     
    1
    3
    5
    7
    9
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3)break和continue的区别
    在这里插入图片描述

    4)else
    当循环的条件不再为真的时候,便会执行else语句的内容。
    举例:

    i = 1
    while i < 5:
        print("循环内,i的值是", i)
        i += 1
    elseprint("循环外,i的值是", i)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4、循环结构的嵌套

    无论是break语句还是continue语句,它们只能作用于一层循环体。

    day = 1
    hour = 1
    while day <= 7:
        while hour <= 8:
            print("今天我一定要坚持学习8小时!")
            hour += 1
            if hour >1:
                break
        day += 1
     
    今天我一定要坚持学习8小时!
    今天我一定要坚持学习8小时!
    今天我一定要坚持学习8小时!
    今天我一定要坚持学习8小时!
    今天我一定要坚持学习8小时!
    今天我一定要坚持学习8小时!
    今天我一定要坚持学习8小时!
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    九九乘法表

    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print(j,"*",i,"=",j * i,end=" ")
            j += 1
        print()
        i += 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    5、for循环

    for 变量 in 可迭代对象 :

       statement(s)
    
    • 1

    可迭代对象指元素能够被单独提取出来的对象,比如字符串。
    举例:for循环每次从字符串Love里面提取出一个字符,并赋值给变量each,循环体内只有一个语句,将each变量值打印出来。

    for each in "Love":
        print(each)
     
        
    L
    o
    v
    e
    举例用while来实现:
    i = 0
    while i < len("Love"):
        print("Love"[i])
        i += 1
     
        
    L
    o
    v
    e
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    6、range生成数值序列,参数只能是整型。

    range(stop)
    range(start, stop)
    range(start, stop, step)
    
    • 1
    • 2
    • 3

    举例:

    for i in range(10):
        print(i)
     
        
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for i in range(5,10):
        print(i)
     
        
    5
    6
    7
    8
    9
     
    for i in range(5,10,2):
        print(i)
     
        
    5
    7
    9
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    举例:从0加到100万的和

    i =1
    sum = 0
    while i <= 1000000:
        sum += i
        i += 1
        
    print(sum)
     
    500000500000
     
    sum = 0
    for i in range(1000001):
        sum += i
    print(sum)
    500000500000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    举例:查看10以内的素数

    for n in range(2,10):
        for x in range(2,n):
            if n % x ==0:
                print(n,"=",x,"*",n // x)
                break
        else:
                print(n,"是一个素数")
     
                
    2 是一个素数
    3 是一个素数
    4 = 2 * 2
    5 是一个素数
    6 = 2 * 3
    7 是一个素数
    8 = 2 * 4
    9 = 3 * 3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    微信小程序开发学习笔记
    再理解springboot那些注册与回调、监控与统计等命名规范,就可以读懂70%的springboot源代码
    AWR仿真报错invalid noise data found
    LeetCode刷题---707. 设计链表(双向链表-带头尾双结点)
    Git基础
    每日五问(java)
    DDD领域驱动设计-战术设计
    tomcat动静分离和负载均衡
    Scala中编写多线程爬虫程序并做可视化处理
    【幅频均衡带通滤波器】基于FPGA的幅频均衡带通滤波器的设计
  • 原文地址:https://blog.csdn.net/Lizzy_Fly/article/details/136195350