1. 顺序结构
程序默认的执行顺序,从上到下依次执行每一行代码:
print("第一步")
print("第二步")
print("第三步")
2. 分支结构(条件语句)
根据条件判断执行不同的代码块:
2.1 if语句
x = 10
if x > 5:
print("x大于5")
2.2 if-else语句
x = 3
if x > 5:
print("x大于5")
else:
print("x小于等于5")
2.3 if-elif-else语句
x = 7
if x > 10:
print("x大于10")
elif x > 5:
print("x大于5但小于等于10")
else:
print("x小于等于5")
2.4 嵌套if语句
x = 8
y = 3
if x > 5:
if y > 2:
print("x大于5且y大于2")
3. 循环结构
3.1 for循环
用于遍历序列(列表、元组、字符串等):
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 遍历字符串
for char in "hello":
print(char)
# 使用range()函数
for i in range(5): # 0到4
print(i)
for i in range(2, 10, 2): # 2,4,6,8
print(i)
3.2 while循环
只要条件为真就一直执行:
count = 0
while count < 5:
print(count)
count += 1
3.3 无限循环
while True:
user_input = input("输入'quit'退出:")
if user_input == "quit":
break
4. 循环控制语句
4.1 break语句
终止当前循环:
for i in range(10):
if i == 5:
break
print(i) # 输出0-4
4.2 continue语句
跳过当前循环的剩余部分,继续下一次循环:
for i in range(10):
if i % 2 == 0:
continue
print(i) # 输出1,3,5,7,9
4.3 pass语句
占位符,不执行任何操作:
for i in range(10):
if i % 2 == 0:
pass # 暂时不做处理
else:
print(i)
5. 异常处理结构
5.1 try-except语句
用于捕获和处理异常:
try:
x = int(input("输入一个整数:"))
print(f"你输入的是:{x}")
except ValueError:
print("输入错误,请输入整数!")
5.2 try-except-else语句
如果没有发生异常,执行else块:
try:
x = int(input("输入一个整数:"))
except ValueError:
print("输入错误!")
else:
print(f"你输入的是:{x}")
5.3 try-except-finally语句
无论是否发生异常,finally块都会执行:
try:
x = int(input("输入一个整数:"))
print(x / 0)
except (ValueError, ZeroDivisionError):
print("发生错误!")
finally:
print("程序结束")
6. 上下文管理结构
6.1 with语句
用于自动管理资源(如文件操作):
with open("file.txt", "r") as f:
content = f.read()
print(content)
# 文件自动关闭
7. 条件表达式(三元运算符)
x = 10
result = "大于5" if x > 5 else "小于等于5"
print(result) # 大于5
这些控制结构构成了Python程序的基本骨架,通过它们可以实现各种复杂的程序逻辑。
8.面试习题
题目 1:选择题
以下哪个语句用于在Python中进行条件判断?
A. if-else
B. switch-case
C. for
D. try-except
正确答案是 A. if-else。Python中使用
if-else语句进行条件判断,虽然Python 3.10+中引入了match-case(与switch-case类似),但if-else是最常用的条件判断结构。
题目 2:操作题
请编写一个Python程序,判断一个数是否为正数、负数或零,并输出相应的提示信息。
# 题目2:判断数字的正负
def check_number(num):
if num > 0:
return f"{num} 是正数"
elif num < 0:
return f"{num} 是负数"
else:
return f"{num} 是零"
# 测试代码
test_numbers = [10, -5, 0, 3.14, -2.5]
for num in test_numbers:
result = check_number(num)
print(result)
题目 3:填空题
Python中的条件判断语句结构一般采用______,它包含if、elif和else。用来根据不同的条件执行不同的代码块。
答案为 if-else语句。Python的条件判断语句结构是
if-elif-else,用于根据不同的条件执行不同的代码块。
题目 4:编程题
编写一个Python程序,输入一个整数,判断它是否为质数(即只能被1和自身整除的数),并输出相应的提示信息。
提示: 可以通过循环判断该数是否能被1和它本身之外的其他数整除。
# 题目4:判断一个数是否为质数
def is_prime(num):
if num <= 1:
return False
if num <= 3:
return True
if num % 2 == 0 or num % 3 == 0:
return False
i = 5
while i * i <= num:
if num % i == 0 or num % (i + 2) == 0:
return False
i += 6
return True
# 测试代码
test_numbers = [1, 2, 3, 4, 17, 20, 97, 100]
for num in test_numbers:
if is_prime(num):
print(f"{num} 是质数")
else:
print(f"{num} 不是质数")
题目 5:选择题
以下哪个语句用于在Python中实现循环?
A. while
B. do-while
C. for
D. A 和 C 都对
正确答案是 D. A 和 C 都对。Python中实现循环的语句是
while和for,没有do-while循环。
题目 6:编程题
编写一个Python程序,打印出九九乘法表。
提示: 使用嵌套的for循环来打印乘法表。
# 题目6:打印九九乘法表
def print_multiplication_table():
for i in range(1, 10):
for j in range(1, i + 1):
# 使用format格式化输出,使乘法表对齐
print(f"{j}×{i}={i*j:2d}", end=" ")
print() # 换行
# 执行打印
print_multiplication_table()
题目 7:选择题
以下代码中,哪一行的代码会导致程序抛出ZeroDivisionError异常?
a = 10
b = 0
c = a / b
A. a = 10
B. b = 0
C. c = a / b
D. 没有错误
正确答案是 C. c = a / b。这行代码会导致
ZeroDivisionError异常,因为变量b的值为0,不能作为除数。
题目 8:编程题
编写一个Python程序,计算并输出1到100内所有数字的和,要求使用while循环。
# 题目8:计算1到100内所有数字的和(使用while循环)
def sum_1_to_100():
total = 0
i = 1
while i <= 100:
total += i
i += 1
return total
# 计算并输出结果
result = sum_1_to_100()
print(f"1到100内所有数字的和为: {result}")
题目 9:简答题
简要说明break和continue在循环中的作用,并举例说明它们的使用场景。
break的作用:立即终止当前所在的整个循环,跳出循环体,继续执行循环后面的代码。•
continue的作用:跳过当前循环体中剩余的语句,直接进入下一次循环迭代。
示例场景:
•
使用break的场景:在查找列表中特定元素时,一旦找到就立即停止循环,不需要继续遍历剩余元素。
•
使用continue的场景:在处理列表时跳过某些不符合条件的元素,继续处理下一个元素。