编程必学!!!执行流程的三种基本结构

        编程中控制代码执行流程的三种基本结构顺序结构、选择结构和循环结构。

1.顺序结构

        顺序结构是最基本的编程结构,它按照代码的书写顺序,从上到下依次执行。没有使用任何控制流程语句,如ifforwhile等。顺序结构通常用于执行一系列不需要条件判断或循环的简单操作。

2.选择结构

        选择结构允许程序根据条件选择不同的执行路径。Python中选择结构是if语句。if语句根据条件是否为真来决定是否执行特定的代码块。if 语句用于在满足特定条件时执行一段代码。可以与 elif(else if 的缩写)和 else 结合使用。

                                        

        单分支

...(正常的顺序结构)

if 条件语句:
    pass#代表有内容,但是现在还没写,不影响程序运行
    #满足条件时执行

...(正常的顺序结构)

        双分支

...(正常的顺序结构)

if 条件语句:
    pass
    #满足条件语句时执行
else:
    pass
    #不满足条件语句时执行

....(正常的顺序结构)

        多分支

...(正常的顺序结构)

if 条件语句1:
    pass
    #满足条件语句1时执行
elif 条件语句2:
    pass
    #不满足条件语句1,满足条件语句2时执行
elif 条件语句3:
    pass
    #不满足条件语句1,2,满足条件语句3时执行
...(多个elif语句)
else:
    pass
    #不满足以上条件时执行
(else语句可写可不写)
....(正常的顺序结构)

pass关键字

        在编程语言中,pass 是一个特殊的关键字,它用于占位或作为空操作符。当语法上需要一个语句但程序逻辑不需要任何操作时,可以使用 pass。

if-elif-else实例

age = 18
if age >= 18:
    print("成年人")
elif age >= 13:
    print("青少年")
else:
    print("儿童")


score = 85
if score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("F")

三元运算符

三元条件运算符是一种简洁的方式来表达 if-else 逻辑。

status = "pass" if score >= 60 else "fail"
print(f"考试结果: {status}")

3.循环结构

        循环结构允许程序重复执行一段代码,直到满足某个条件。有两种主要类型的循环结构:for循环和while循环。

                                 

for循环

        通常用于遍历序列(如列表、元组、字符串等)或迭代范围(使用range()函数)。for循环知道循环的结束条件。

for 变量 in 序列:
    循环体
else:#else可写可不写
    #for循环正常结束时执行

for i in range(a, b, c):
    循环体

 range()函数

① Iterable可迭代类型

        Iterable是Python中可以被迭代的对象,即拥有 __iter__()__getitem__() 方法的对象。常见的可迭代类型包括列表(list)、元组(tuple)、字典(dict)、集合(set)和字符串(str)。此外,文件对象和生成器也是可迭代的,在for 循环中当作序列遍历。

#遍历数组
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
    print(site)

#依次输出0-10
for i in range(10):
    print(i)
② for两种常见形式
  • 基本形式:

    for item in iterable:
        # 处理 item

  • 带索引的形式:

    for index, item in enumerate(iterable):
        # 使用 index 和 item
③ break与continue
  • break 语句用于立即退出 for 或 while 循环,不再执行后续的迭代。
  • continue 语句用于跳过当前迭代的剩余代码,直接开始下一次迭代。
for i in range(10):
    if i == 5:
        break  # 当 i 等于 5 时退出循环
    print(i)

for i in range(10):
    if i % 2 == 0:
        continue  # 跳过偶数,不执行下面的打印语句
    print(i)  # 只打印奇数
④ for与else

   for 循环可以与 else 子句一起使用。else 子句将在循环正常结束时执行,即没有遇到 break 导致的退出。如果 for 循环由于 break 而提前退出,则不会执行 else 子句。

for i in range(10):
    if i == 5:
        break
else:
    # 循环没有提前退出时执行
    print("循环正常结束。")

        如果需要在循环中使用 else 子句,要确保 forelse 在同一个缩进级别上。else 子句可以用于在循环完成后执行一些清理工作,或者当循环没有找到想要的元素时执行一些操作。 

while循环

        根据一个条件来重复执行代码块,直到条件不再为真。while循环可能不知道循环的结束条件,因此需要在循环内部适当地更新条件。

while 条件语句:
    循环体
else:
    #while循环正常结束时执行

count = 1
while count <= 5:
    print(count)
    count += 1  # 重要的是要修改条件变量,否则可能导致无限循环
while 循环的关键点
  • 条件测试: 在每次迭代之前,会测试条件是否为 True
  • 无限循环: 如果条件始终为 True,循环将变成无限循环。例如,while True:
  • 控制流语句: 使用 break 可以立即退出 while 循环,而 continue 可以跳过当前迭代的剩余部分,直接进入下一次迭代。
无限循环的例子
while True:
    response = input("你想要继续吗?(y/n):")
    if response != 'y':
        break
    print("你选择继续。")
#这段代码会不断请求用户输入,直到用户输入了 'y' 以外的任何内容
带有 else 子句的 while 循环 

  while 循环可以与 else 子句一起使用。else 子句将在循环正常结束时执行,即没有遇到 break 导致的退出。如果 while 循环由于 break 而提前退出,则不会执行 else 子句

while not found:
    # 寻找某物
    if found:
        break
else:
    # 如果没有找到,执行这里
    print("没有找到。")

        在这个例子中,如果找到了,循环会通过 break 退出,不会执行 else 子句。如果没有找到,循环会正常结束,然后执行 else 子句中的代码。 

 

4.嵌套 

        分支嵌套是指在一个条件分支(如 if 语句)内部再使用另一个或多个条件分支,形成一个嵌套结构。这种结构在需要根据多个条件进行复杂决策时非常有用。以下是一些使用分支嵌套的示例:

          简单的 if-else 嵌套

x = 10
y = 20

if x > y:
    print("x 大于 y")
    if x > 15:
        print("并且 x 大于 15")
else:
    print("x 不大于 y")
    if x < 5:
        print("并且 x 小于 5")

           嵌套在循环中的条件分支

for i in range(1, 6):
    if i % 2 == 0:
        print(f"{i} 是偶数")
        if i == 4:
            print("并且 4 是 2 的平方")
    else:
        print(f"{i} 是奇数")

注意事项

  • 当使用嵌套分支时,确保逻辑清晰,避免过度嵌套,这可能会导致代码难以阅读和维护。
  • 适当使用缩进和注释可以帮助理解嵌套的逻辑。
  • 在某些情况下,可以使用更高级的控制结构或设计模式来简化复杂的嵌套条件。
  • 26
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值