1.三种控制结构。
Python程序的三种控制结构包括顺序结构、分支结构(单分支结构、二分支结构、多分支结构。)和循环结构。
- 顺序结构:顺序结构是最简单的控制结构,代码按照顺序依次执行。每一行代码都会按照从上到下的顺序执行,没有任何条件或循环。例如:
print("Hello")
print("World")
以上代码会依次输出"Hello"和"World"。
- 分支结构:分支结构根据条件的真假来选择性地执行不同的代码块。根据条件的不同,分支结构可以分为单分支结构、二分支结构和多分支结构。
单分支结构(if):只有一个条件判断,根据条件的真假来执行相应的代码块。例如:
x = 10
if x > 0:
print("x is positive")
在代码中,如果x大于0,则会输出"x is positive"。
二分支结构(if - else):有两个条件判断,根据不同的条件结果执行不同的代码块。例如:
x = 10
if x > 0:
print("x is positive")
else:
print("x is non-positive")
代码中如果x大于0,则会输出"x is positive";否则,会输出"x is non-positive"。
多分支结构(if - elif - else):有多个条件判断,根据不同的条件结果执行相应的代码块。例如:
x = 10
if x > 0:
print("x is positive")
elif x == 0:
print("x is zero")
else:
print("x is negative")
在代码中,如果x大于0,则会输出"x is positive";如果x等于0,则会输出"x is zero";否则,会输出"x is negative"。
- 循环结构:循环结构用于重复执行一段代码,可以根据条件的真假来决定是否继续执行循环。循环结构可以分为遍历循环和条件循环两种。
for循环:for循环用于遍历一个可迭代对象(如列表、元组、字符串等)中的元素,或者根据指定的次数执行一段代码。for循环的语法如下:
for 变量 in 可迭代对象:
# 执行的代码块
遍历循环:重复执行一段代码固定的次数或者按照一个序列的元素进行循环。例如,使用for循环遍历一个列表:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
以上代码会依次输出列表中的每个水果。
while循环:while循环根据条件的真假来决定是否继续执行循环。在每次循环开始时,会先判断条件是否成立,如果条件为真,则执行循环体中的代码,然后再次判断条件。当条件为假时,循环终止。while循环的语法如下:
while 条件:
# 执行的代码块
条件循环:根据条件的真假来决定是否继续执行循环。例如用while循环来判断一个数是否为偶数:
x = 10
while x > 0:
if x % 2 == 0:
print(x, "is even")
x -= 1
以上代码会从10开始递减,如果递减后的数是偶数,则会输出该数。
2.break和continue。
- break语句:当在循环中遇到break语句时,会立即终止当前的循环,并跳出循环体执行循环后的代码。break通常与条件判断结合使用,用于在满足某个条件时提前结束循环。示例如下:
for i in range(1, 6):
print(i)
if i == 3:
break
以上代码会输出数字1、2、3,当i等于3时,执行了break语句,终止了循环。
- continue语句:当在循环中遇到continue语句时,会跳过本次循环中剩余的代码,并进入下一次循环。continue通常与条件判断结合使用,用于在满足某个条件时跳过本次循环的执行。示例如下:
for i in range(1, 6):
if i == 3:
continue
print(i)
以上代码会输出数字1、2、4、5,当i等于3时,执行了continue语句,跳过了本次循环中的print语句。
使用break和continue语句可以根据需要灵活地控制循环的执行流程。
3.程序的异常处理:try-except。
Python中使用try-except语句来捕获和处理程序中的异常。
异常是在程序运行过程中发生的错误或异常情况,如果不进行处理,程序会抛出异常并终止运行。使用try-except语句可以在出现异常时捕获并执行相应的处理代码,从而使程序能够继续执行下去。 try-except语句的基本语法如下:
try:
# 可能会发生异常的代码块
except 异常类型1:
# 处理异常1的代码块
except 异常类型2:
# 处理异常2的代码块
...
else:
# 如果没有发生异常,执行的代码块(可选)
finally:
# 无论是否发生异常,都会执行的代码块(可选)
在try代码块中,放置可能会触发异常的代码。如果在try代码块中发生了异常,那么程序会跳转到对应的except代码块中,并执行相应的处理代码。except代码块可以指定特定的异常类型,也可以不指定,捕获所有类型的异常。如果没有发生异常,那么会执行else代码块中的代码。无论是否发生异常,都会执行finally代码块中的代码。
以下是一个示例,演示如何使用try-except来处理除零错误的异常:
try:
num1 = int(input("请输入一个整数: "))
num2 = int(input("请输入另一个整数: "))
result = num1 / num2
print("结果:", result)
except ZeroDivisionError:
print("除零错误!请重新输入。")
except ValueError:
print("输入的不是整数!请重新输入。")
else:
print("没有发生异常。")
finally:
print("程序执行完毕。")
在上述示例中,如果用户输入的是0作为除数,会触发ZeroDivisionError异常;如果用户输入的不是整数,会触发ValueError异常。根据不同的异常类型,程序会执行对应的处理代码块。无论是否发生异常,最后都会执行finally代码块中的代码。
使用try-except语句可以提高程序的健壮性,避免程序因为异常而终止运行,并可以根据具体的异常类型进行相应的处理操作。