• Python 流程控制


    1. 条件语句

    条件语句主要是 if、elif、else 三者之间的组合使用

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtdbV659-1584371769544)(attachment:image.png)]

      1.1 if 语句

    if True:
        print("布尔表达式值为True")
    
    布尔表达式值为True
    

      1.2 if-else 语句

    if False:
        print("布尔表达式值为True")
    else:
        print("布尔表达式值为Fasle")
    
    布尔表达式值为Fasle
    

       1.3 if-elif-else 语句

    a = 10
    if a > 0 :
        print("a为正数")
    elif a == 0:
        print("a值为0")
    else:
        print("a为负数")
    
    a为正数
    

       1.4 条件语句的嵌套

    num = int(input("请输入一个0-5的数字:"))
    if num >= 3:
        if num == 3:
            print("你输入的数字3")
        elif num == 4:
            print("你输入的数字是4")
        else:
            print("你输入的数字是5")
    else:
        if num == 2:
            print("你输入的数字是2")
        elif num == 1:
            print("你输入的数字是1")
        else:
            print("你输入的数字是0")    
    
    请输入一个0-5的数字:0
    你输入的数字是0
    

    2. 循环语句

    python 的循环语句主要包括: while 、 for 语句    Python 不支持
    do〜while 语法、可以使用 while(无限循环)和 break 组合起来实现 do ~ while 语法

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Jmz2fRv-1584371769545)(attachment:image.png)]

       2.1 while 语句

     # 输出0-10的所有数字:
    num = 0
    while num <= 10:
        print(f'当前数字是:{num}')
        num += 1
    
    当前数字是:0
    当前数字是:1
    当前数字是:2
    当前数字是:3
    当前数字是:4
    当前数字是:5
    当前数字是:6
    当前数字是:7
    当前数字是:8
    当前数字是:9
    当前数字是:10
    

      2.2 for 语句

    # 输出0-10的所有数字:
    for num in range(0,10):
         print(f'当前数字是:{num}')
    
    当前数字是:0
    当前数字是:1
    当前数字是:2
    当前数字是:3
    当前数字是:4
    当前数字是:5
    当前数字是:6
    当前数字是:7
    当前数字是:8
    当前数字是:9
    
    # 遍历元组
    tup = (1,2,3,4,5)
    for t in tup:
        print(t)
    
    1
    2
    3
    4
    5
    
    #遍历列表
    lis = ['a','b','c']
    for c in lis:
        print(c.upper())
    
    A
    B
    C
    
    # 遍历字典
    dic = {'name':'小明', 'age':20, 'hooby':'篮球'}
    for k , v in dic.items():
        print(f'{k}:{v}')
    
    name:小明
    age:20
    hooby:篮球
    

      2.3 迭代工具

      2.3.1 并行迭代

    程序可以同时迭代两个序列,输入如下

    low = ['a','b','c','d','e']
    upp = ['A','B','C','D','E']
    for i in range(len(low)):
        print(f'小写:{low[i]} -- 大写:{upp[i]}')
    
    小写:a -- 大写:A
    小写:b -- 大写:B
    小写:c -- 大写:C
    小写:d -- 大写:D
    小写:e -- 大写:E
    

      2.3.2 zip 函数

    在Python中,内建的zip函数用来进行并行迭代,可以把两个序列合并在一起,返回一个元组的列表。如下,程序执行结果和前面一样。

    low = ['a','b','c','d','e']
    upp = ['A','B','C','D','E']
    for l, u in zip(low,upp):
        print(f'小写:{l} -- 大写:{u}')
    
    小写:a -- 大写:A
    小写:b -- 大写:B
    小写:c -- 大写:C
    小写:d -- 大写:D
    小写:e -- 大写:E
    

    zip函数可以作用于任意数量的序列,并且可以应付不等长的序列,当短序列“用完”时就会停止。

    for num1,num2 in zip(range(3),range(5)):
        print(f'zip的键值对为:{num1}:{num2}')
    
    zip的键值对为:0:0
    zip的键值对为:1:1
    zip的键值对为:2:2
    

      2.4 跳出循环

      2.4.1 break 语句

      break语句用来终止循环语句,即使循环条件中没有False条件或序列还没有遍历完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句就会停止执行最深层的循环,并开始执行下一行代码。break语句的执行流程如下图所示。

    在这里插入图片描述

    letters = []
    for letter in "I am a student, but you are a teacher.":
        if letter == ',': 
            break
        letters.append(letter)
    print(letters)
    
    ['I', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' ', 'b', 'u', 't', ' ', 'y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'a', ' ', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.']
    

      2.4.2 continue语句

    continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句用在while和for循环中。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5JBbKHWO-1584371769546)(attachment:image.png)]

    letters = []
    for letter in "I am a student, but you are a teacher.":
        if letter == ',': 
            continue
        letters.append(letter)
    print(letters)
    
    ['I', ' ', 'a', 'm', ' ', 'a', ' ', 's', 't', 'u', 'd', 'e', 'n', 't', ' ', 'b', 'u', 't', ' ', 'y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'a', ' ', 't', 'e', 'a', 'c', 'h', 'e', 'r', '.']
    

      2.5 循环中else语句

      2.5.1 while语句

    num = int(input("请输入一个小于10的整数:"))
    while num < 10:
        print(f"{num}小于10")
        num += 1
    else:
        print(f"{num} 不小于10")
    print("循环结束")
    
    请输入一个小于10的整数:4
    4小于10
    5小于10
    6小于10
    7小于10
    8小于10
    9小于10
    10 不小于10
    循环结束
    

      2.5.2 for语句

    names = ["小李","小黄"]
    for name in names:
        if name == "小":
            print(f"名称:{name}")
            break
        print(f"循环名称列表{name}")
    else:
        print("没有循环数据!")
    print("循环结束")       
    
    循环名称列表小李
    循环名称列表小黄
    没有循环数据!
    循环结束
    

    3. pass语句

      Python中的pass是空语句,作用是保持程序结构的完整性。pass语句的语法格式如下:passpass不做任何事情,只是占位语句。

    def f(a):
        if a>=0:
            pass
        else:
            print("a为负数")
    
    f(10)
    
    f(-1)
    
    a为负数
    

    4.猜数字游戏练习

    随便给定一个在一定范围内的数字,让用户去猜这个数字是多少,并输入自己猜测的数字,系统判断是否为给定数字。如果输入的猜测数字大于给定值,提示你输入的值大了;如果输入的值小于给定值,就提示输入的值小了;如果等于给定值,就提示你猜对了,并展示总共猜了多少次。

    import random
    
    def GuessNumber(num):
        count = 0
        guess = int(input("请猜一个0-100的数:"))
        while True:
            if guess != num:
                if guess > num:
                    print("猜的数大了")
                else:
                    print("猜的数小了")
                count += 1 
                guess = int(input("继续猜数:"))
            else:
                print(f"恭喜你在第{count}次猜对了.")
                break
    num = random.randint(0,100)
    GuessNumber(num)
    
    请猜一个0-100的数:50
    猜的数大了
    继续猜数:25
    猜的数小了
    继续猜数:30
    猜的数小了
    继续猜数:40
    猜的数大了
    继续猜数:35
    猜的数小了
    继续猜数:38
    猜的数大了
    继续猜数:36
    恭喜你在第6次猜对了.
  • 相关阅读:
    【STM32F407的DSP教程】第4章 Matlab简易使用之脚本文件
    【STM32H7的DSP教程】第3章 Matlab简易使用之基础操作
    【STM32F429的DSP教程】第3章 Matlab简易使用之基础操作
    【STM32F407的DSP教程】第3章 Matlab简易使用之基础操作
    【STM32H7的DSP教程】第2章 Matlab R2018a的安装
    【STM32F429的DSP教程】第2章 Matlab R2018a的安装
    【STM32F407的DSP教程】第2章 Matlab R2018a的安装
    【STM32H7的DSP教程】第1章 初学数字信号处理准备工作
    【STM32F429的DSP教程】第1章 初学数字信号处理准备工作
    【STM32F407的DSP教程】第1章 初学数字信号处理准备工作
  • 原文地址:https://www.cnblogs.com/sinlearn/p/12665420.html
Copyright © 2020-2023  润新知