在程序设计中,算法的某些操作步骤在一定的条件下会被重复执行,这就是循环结构。
目录
1. while 循环
while 循环在条件为真时重复执行代码块
基本语法
while 条件表达式:
# 循环体代码
count = 0
while count < 5:
print(f"当前计数: {count}")
count += 1
无限循环与中断
while True:
user_input = input("输入'quit'退出: ")
if user_input == 'quit':
break
print(f"你输入了: {user_input}")
while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行additional_statement(s)。
循环输出数字,并判断大小:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
2. for 语句
for 循环用于遍历序列(如列表、元组、字符串等)或其他可迭代对象
基本语法
for 变量 in 可迭代对象:
# 循环体代码
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
遍历字符串
for char in "Python":
print(char)
for...else
在 Python 中,for...else 语句用于在循环结束后执行一段代码。
语法格式如下:
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
for x in range(6):
print(x)
else:
print("Finally finished!")
3. range() 函数
range() 生成一个数字序列,常用于for循环
基本用法
# 生成0-4的数字
for i in range(5):
print(i)
# 指定起始和结束(不包含结束值)
for i in range(2, 5):
print(i)
# 指定步长
for i in range(0, 10, 2):
print(i) # 0, 2, 4, 6, 8
反向range
for i in range(5, 0, -1):
print(i) # 5, 4, 3, 2, 1
4. 循环控制语句
4.1 break语句
立即退出当前循环
for num in range(10):
if num == 5:
break
print(num) # 只打印0-4
4.2 continue语句
跳过当前迭代,继续下一次循环
for num in range(5):
if num == 2:
continue
print(num) # 打印0,1,3,4
4.3 pass语句
空操作,占位符
for num in range(5):
if num == 2:
pass # 什么都不做
print(num) # 打印0-4
5. 实验例程
例程1: 计算1-100的和
total = 0
for i in range(1, 101):
total += i
print(f"1到100的和是: {total}")
例程2: 乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end="\t")
print() # 换行
例程3: 猜数字游戏
import random
target = random.randint(1, 100)
while True:
guess = int(input("猜一个1-100的数字: "))
if guess == target:
print("恭喜你猜对了!")
break
elif guess < target:
print("猜小了")
else:
print("猜大了")
例程4: 素数判断
num = int(input("输入一个整数: "))
is_prime = True
if num > 1:
for i in range(2, int(num**0.5)+1):
if num % i == 0:
is_prime = False
break
print(f"{num}是素数" if is_prime and num > 1 else f"{num}不是素数")
例程5: 过滤列表中的偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = []
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
else:
continue # 可省略
print(f"偶数列表: {even_numbers}")
这些循环结构是Python编程的核心部分,while循环适合不确定次数的循环,for循环适合遍历已知序列,range()函数则常用于生成数字序列。掌握循环控制语句可以让你更灵活地控制程序流程。