python流行控制语句

发布时间 2023-11-29 17:03:11作者: -半城烟雨

【一】流程控制语句介绍

  • 程序是由语句构成,而流程控制语句 是用来控制程序中每条语句执行顺序的语句。
    • 可以通过控制语句实现更丰富的逻辑以及更强大的功能。
    • 几乎所有编程语言都有流程控制语句,功能也都基本相似。
  • 其流程控制方式有
    • 顺序结构
    • 分支结构
    • 循环结构
  • 这里最简单最常用的就是顺序结构,即语句从上至下一一执行。

【二】顺序结构

【1】什么是顺序结构

  • 在计算机程序中,顺序结构是指按照代码书写的顺序,一条语句接着一条语句执行,没有跳过、重复或其他特殊的结构。
  • 程序按照从上到下的顺序逐行执行。

【2】顺序结构的作用

顺序结构用于按照既定的顺序执行一系列的操作,这是程序执行的最基本模式。
通过良好的顺序结构,可以清晰地表达程序的逻辑流程,使代码易读易懂。
这有助于开发者理解和维护代码,也方便调试。

【三】分支结构

【1】什么是分支结构

  • 分支结构是计算机程序中的一种控制结构,它根据条件的成立与否选择性地执行不同的代码块。
  • 在分支结构中,根据条件的判断结果,程序会有不同的执行路径。

【2】分支结构的作用

  • 分支结构的主要作用是根据不同的条件执行不同的代码,从而实现灵活的程序逻辑。
  • 通过分支结构,程序可以根据用户的输入、计算的结果等情况来选择执行不同的代码块,增加程序的智能性和适应性。

【3】单分支结构(if)

  • 单分支结构指的是程序根据条件的成立与否,执行两个分支中的其中一个。
  • 常见的单分支结构语法是if语句。

【4】双分支结构(if-else)

  • 双分支结构也是根据条件的成立与否,选择性地执行不同的代码块。
  • 与单分支结构不同的是,双分支结构有两个分支,分别对应条件成立和条件不成立的情况。

【5】多分支结构(if-elif-else)

  • 多分支结构是在双分支结构的基础上扩展,它包含多个分支,每个分支都对应不同的条件。
  • 程序根据条件的成立情况选择性地执行相应的代码块。

【6】多层嵌套结构

  • 多层嵌套结构是将多个分支结构嵌套在一起形成的复杂结构。
  • 每一层的分支结构都可以根据不同的条件进行选择性的执行。
  • 多层嵌套结构的使用需要注意代码的可读性和维护性。

【四】循环结构

【1】什么是循环结构

  • 循环结构是一种程序控制结构,用于反复执行一组语句,直到满足某个条件为止。
  • 循环结构使得程序可以更有效地重复执行某段代码,节省了编写重复代码的工作。

【2】循环结构的作用

  • 循环结构的主要作用是重复执行一组语句,直到满足某个条件。
    这种重复执行的过程可以是固定次数的,也可以是根据条件动态确定的。
  • 循环结构使得程序可以更灵活、高效地处理需要重复执行的任务。

【3】while循环

(1)语法

while condition:
    # 循环体
while 是循环的关键字。
condition 是循环的条件,当条件为真时,循环体会一直执行。
循环体是需要重复执行的代码块。

【4】退出循环(continue)

(1)语法

while condition:
    # 循环体
    if some_condition:
        continue  # 跳过当前循环,继续下一次循环

【5】标志位

(1)语法

flag = True  # 初始化标志位
while flag:
    # 循环体
    if some_condition:
        flag = False  # 修改标志位,退出循环

(2)使用

flag = True  # 初始化标志位
while flag:
    user_input = input("请输入:")
    if user_input == 'n':
        flag = False  # 当用户输入 'n' 时,修改标志位,退出循环
    else:
        print("用户输入:", user_input)

(3)登录认证案例(while循环嵌套+tag标志位)

  • 任务要求
  • 登录功能:
    ---> 存储 字典存储用户的登录信息
    输入框输入 用户名和密码
    可以尝试 3 次 ----> 用户名或密码错误的话就要重新输入了!
    第一次的时候告诉你还有两次
    最后一次的时候告诉你还愿意继续尝试吗?
    如果选择继续尝试的话 ---> 继续尝试
user_pwd = {'Tony': "1832132"}
count = 3
tag = True

while count > 0 and tag:
    count -= 1
    # 用户名密码全都正确的情况
    username_input = input("请输入用户名:>>>>")
    pwd_input = input("请输入密 码>>>>")
    if username_input in user_pwd and pwd_input == user_pwd.get(username_input):
        print("登陆成功! >>>>")
        break
    else:
        # 登录失败
        #当count=0的时候

        if count==0:
            continue_input=input("还愿意继续尝试吗?(y/n)")
            if continue_input=='y':
                #送三次机会
                count=3
            else:
                print("感谢使用!")
        #用户名错误
        if not username_input in user_pwd:
            print(f"你还有{count}次机会")
            # 继续下一次循环
            continue
        #效验密码
        if pwd_input == user_pwd.get(username_input):
            print('登陆成功!')
            tag=False
        else:
            print("你输入的密码错误")
            print(f"你还有{count }次机会")