流程控制用于控制程序的执行顺序,包括:
age = 18
if age >= 18:
print("成年人")
age = 16
if age >= 18:
print("成年人")
else:
print("未成年人")
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
age = 25
has_license = True
if age >= 18:
if has_license:
print("可以驾驶")
else:
print("需要考取驾照")
else:
print("年龄不够")
age = 20
status = "成年人" if age >= 18 else "未成年人"
print(status)
age = 25
has_license = True
if age >= 18 and has_license:
print("可以驾驶")
if age < 18 or not has_license:
print("不能驾驶")
用于遍历序列(列表、元组、字符串等)。
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
for i in range(5):
print(i)
for i in range(1, 6):
print(i)
for i in range(0, 10, 2):
print(i)
range(5)
range(1, 6)
range(0, 10, 2)
range(10, 0, -1)
s = "Python"
for char in s:
print(char)
person = {"name": "张三", "age": 25, "city": "北京"}
for key in person:
print(key)
for value in person.values():
print(value)
for key, value in person.items():
print(f"{key}: {value}")
同时获取索引和值:
fruits = ["苹果", "香蕉", "橙子"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
for index, fruit in enumerate(fruits, 1):
print(f"{index}: {fruit}")
count = 0
while count < 5:
print(count)
count += 1
count = 0
while count < 5:
print(count)
count += 1
else:
print("循环结束")
while True:
user_input = input("输入 q 退出:")
if user_input == "q":
break
跳出整个循环:
for i in range(10):
if i == 5:
break
print(i)
print("循环结束")
跳过本次循环,继续下一次:
for i in range(10):
if i % 2 == 0:
continue
print(i)
占位符,不做任何操作:
for i in range(5):
pass
if True:
pass
def my_function():
pass
for i in range(5):
print(i)
else:
print("循环正常结束")
for i in range(5):
if i == 3:
break
print(i)
else:
print("循环被 break 打断,不会执行这里")
for i in range(3):
for j in range(3):
print(f"({i}, {j})", end=" ")
print()
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j}", end="\t")
print()
for num in range(2, 20):
for i in range(2, num):
if num % i == 0:
break
else:
print(f"{num} 是素数")
squares = [x**2 for x in range(10)]
print(squares)
evens = [x for x in range(10) if x % 2 == 0]
print(evens)
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = [x for x in numbers if x % 2 == 0]
odds = [x for x in numbers if x % 2 != 0]
print(evens)
print(odds)
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]
print(flattened)
squares = {x: x**2 for x in range(5)}
print(squares)
names = ["张三", "李四", "王五"]
name_dict = {name: len(name) for name in names}
print(name_dict)
squares = {x**2 for x in range(10)}
print(squares)
import random
number = random.randint(1, 100)
count = 0
while True:
guess = int(input("猜一个数字(1-100):"))
count += 1
if guess < number:
print("太小了")
elif guess > number:
print("太大了")
else:
print(f"恭喜!你用了 {count} 次猜对了!")
break
username = "admin"
password = "123456"
attempts = 3
while attempts > 0:
user = input("用户名:")
pwd = input("密码:")
if user == username and pwd == password:
print("登录成功!")
break
else:
attempts -= 1
print(f"用户名或密码错误,还有 {attempts} 次机会")
if attempts == 0:
print("登录失败,请稍后再试")
n = 5
for i in range(1, n + 1):
print("*" * i)
for i in range(n, 0, -1):
print(" " * (n - i) + "*" * (2 * i - 1))
n = 10
a, b = 0, 1
for _ in range(n):
print(a, end=" ")
a, b = b, a + b
text = "Hello World, Hello Python"
char_count = {}
for char in text:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
print(char_count)
本章我们学习了:
流程控制是编程的核心概念,掌握它们可以编写出复杂的逻辑。在下一章中,我们将学习列表这一重要的数据结构。