【Python中`for`循环和`while`循环详细介绍及其用法。】

循环结构是编程中用来重复执行一段代码的重要工具。在Python中,主要的循环结构有for循环和while循环。以下是对这两种循环结构的详细介绍及其用法。

1. for 循环

for 循环用于遍历一个序列(如列表、元组、字符串)或其他可迭代对象。

基本语法
python 复制代码
for item in iterable:
    # 执行代码块
示例
python 复制代码
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
python 复制代码
# 遍历字符串
for letter in "Python":
    print(letter)
python 复制代码
# 使用range()函数遍历一系列数字
for i in range(5):  # range(5)生成0到4的数字
    print(i)

2. while 循环

while 循环在给定条件为真时反复执行代码块。

基本语法
python 复制代码
while condition:
    # 执行代码块
示例
python 复制代码
count = 0
while count < 5:
    print(count)
    count += 1

3. 循环控制语句

break 语句

break 语句用于提前终止循环。

python 复制代码
for i in range(10):
    if i == 5:
        break
    print(i)
continue 语句

continue 语句用于跳过本次循环剩余的代码,直接进入下一次循环。

python 复制代码
for i in range(10):
    if i % 2 == 0:
        continue
    print(i)

4. 嵌套循环

循环可以嵌套,即在一个循环内部再使用另一个循环。

示例
python 复制代码
for i in range(3):
    for j in range(3):
        print(f"i = {i}, j = {j}")

5. else 子句

循环还可以带有else子句,当循环正常结束时(即没有遇到break),会执行else子句中的代码。

示例
python 复制代码
for i in range(5):
    print(i)
else:
    print("循环结束")
python 复制代码
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环结束")

实践案例:求一个列表中的所有数字之和

使用 for 循环
python 复制代码
numbers = [1, 2, 3, 4, 5]
total = 0

for number in numbers:
    total += number

print(f"总和是: {total}")
使用 while 循环
python 复制代码
numbers = [1, 2, 3, 4, 5]
total = 0
index = 0

while index < len(numbers):
    total += numbers[index]
    index += 1

print(f"总和是: {total}")

实践案例:寻找质数

一个数如果只能被1和它本身整除,那么它就是质数。下面的代码使用循环结构来找出一定范围内的质数。

python 复制代码
start = 10
end = 50

print(f"{start}到{end}之间的质数有:")

for num in range(start, end + 1):
    if num > 1:
        for i in range(2, num):
            if num % i == 0:
                break
        else:
            print(num)

总结

循环结构是编程中的基础工具,掌握for循环和while循环及其控制语句breakcontinue的用法,可以帮助你高效地处理重复性任务。通过不断练习和应用这些概念,你会逐渐熟悉和灵活运用循环结构来解决各种编程问题。

相关推荐
黄雪超2 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice2 小时前
对象的finalization机制Test
java·开发语言·jvm
思则变2 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
lijingguang2 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
漫谈网络3 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
¥-oriented3 小时前
【C#中路径相关的概念】
开发语言·c#
CoderCodingNo3 小时前
【GESP】C++四级考试大纲知识点梳理, (7) 排序算法基本概念
开发语言·c++·排序算法
恋猫de小郭3 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
JosieBook3 小时前
【Java编程动手学】使用IDEA创建第一个HelloJava程序
java·开发语言·intellij-idea
Thomas_YXQ3 小时前
Unity3D DOTS场景流式加载技术
java·开发语言·unity