python循环语句详解

本文详细介绍了Python中的for和while循环语句,包括它们的用途、语法示例以及break和continue的关键字。通过实例演示,学习者能理解如何在实际编程中运用这些循环结构,以及何时选择for或while。
摘要由CSDN通过智能技术生成

为什么学习循环语句

循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能

循环在程序中的作用判断一样,也是广泛存在的,是非常多功能实现的基础:比如大家熟悉的首页轮播图,视频循环播放,动态壁纸,游戏中的公告等。

在Python中,循环语句用于重复执行一组语句,直到满足某个条件为止。Python提供了两种主要的循环语句:for 循环和 while 循环。下面就来具体讲解。

for循环

for 循环用于遍历序列(如列表、元组、字符串等)中的元素,执行循环体中的代码块。每次循环从待处理数据集中取出数据赋值给临时变量,临时变量每次循环都会被赋予新的值。注意for后面的英文冒号不要忘记,同if语句一样,缩进4个空格的属于for循环,是他的循环体。

for 临时变量 in 待处理的数据集:
	满足循环条件时执行的代码体

下是一些使用 for 循环的常见示例:

简单示例

1. 遍历列表

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

输出:

apple
banana
cherry

2. 遍历字符串

for char in "Python":
    print(char)

输出:

P
y
t
h
o
n

3. 遍历数字范围

for num in range(1, 6):
    print(num)

其中range的具体使用见

输出:

1
2
3
4
5

4. 使用 enumerate 获取索引和值

fruits = ["apple", "banana", "cherry"]
for index, value in enumerate(fruits):
    print(f"Index: {index}, Value: {value}")

输出:

Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: cherry

5. 遍历字典的键值对

person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
    print(f"{key}: {value}")

输出:

name: John
age: 30
city: New York

6. 嵌套循环

for i in range(3):
    for j in range(2):
        print(f"({i}, {j})")

输出:

(0, 0)
(0, 1)
(1, 0)
(1, 1)
(2, 0)
(2, 1)

以上就是关于for循环的一些简单使用,在具体的实际案例中,请大家结合自己的需求灵活使用,尤其是掌握好嵌套循环,下面我们来看两个简单的嵌套循环的例子

while循环

除了for循环语句外,Python同样提供了while循环语句。两者能完成的功能基本差不多,但有如下区别:

while循环的循环条件是自定义的,自行控制循环条件

for循环是一种”轮询”机制,是对一批内容进行”逐个处理

while 循环用于在给定条件为真的情况下反复执行一组语句。循环会一直执行,直到条件不再满足。下面是 while 循环的一般语法:

while condition:
    # 循环体
    # 在满足条件时执行的代码

简单的 while 循环

count = 0
while count < 5:
    print(count)
    count += 1

输出:

0
1
2
3
4

在这个例子中,循环会在 count 小于 5 的条件下一直执行。每次循环迭代时,会打印 count 的值并递增 count 直到条件不再满足。

while 循环是一种强大的工具,可以用于在特定条件下重复执行代码块。确保在使用 while 循环时,条件能够在一定条件下变为假,以防止无限循环。while的条件需得到布尔类型,True表示继续循环,False表示结束循环,空格缩进和if判断一样,都需要设置。

循环选择

具体在实际使用中是选择使用while循环还是for循环呢?

使用 for 循环的情况:

  1. 已知迭代次数: 当你已经知道循环应该执行多少次时,使用 for 循环更为方便。例如,遍历列表、元组、字符串等序列时,for 循环是更自然的选择。

  2. 遍历可迭代对象: 当需要遍历可迭代对象(例如,集合、字典的键或值)时,for 循环更为直观。

使用 while 循环的情况:

  1. 未知迭代次数: 当循环的结束条件不明确,且循环次数不固定时,使用 while 循环更为合适。
  2. 根据条件继续执行: 当需要在满足某个条件时重复执行循环体时,使用 while 循环。

总体来说,for 循环更适合在已知迭代次数的情况下使用,而 while 循环更适合在未知迭代次数、需要根据条件判断的情况下使用。在实际编程中,很多情况下两者都可以使用,选择取决于问题的性质和个人偏好。

breakecontinue语句

while循环或是for循环,都是重复性的执行特定操作。在这个重复的过程中,有时针对某种情况我们会

•暂时跳过某次循环,直接进行下一次

•提前退出循环,不在继续

在Python中,我们使用continuebreak关键字用以对循环实现单次跳过和提前退出循环

break语句

break 语句用于终止循环,即使循环条件仍然为真。当 break 被执行时,循环会立即终止,程序流程跳出循环体,执行循环后的代码。示例如下:

for i in range(5):
    if i == 3:
        break
    print(i)

输出结果

0
1
2

在这个例子中,当 i 的值为 3 时,break 被执行,终止了 for 循环,因此只输出了 012

continue语句

continue 语句用于跳过循环体中余下的代码,直接进入下一次迭代。当 continue 被执行时,程序流程会立即跳到循环的下一次迭代。示例如下:

for i in range(5):
    if i == 2:
        continue
    print(i)

输出结果

0
1
3
4

在这个例子中,当 i 的值为 2 时,continue 被执行,跳过了循环体中的 print(i) 语句,直接进入下一次迭代。

这两个关键字的使用可以使程序更灵活,适应不同的情况。 break 用于提前结束循环,而 continue 用于跳过某次迭代中的代码。注意,过度使用这两个关键字可能导致代码难以理解,因此需要根据实际情况慎重使用。

关于循环的一些常见使用案例

while循环配合input()的猜数字小游戏

#导入随机数种子
import random

# 生成1到100之间目标数字
target_number = random.randint(1, 100)

# 初始化猜测次数
guess_count = 0

while True:
    # 玩家输入猜测的数字
    guess = int(input("猜一个1到100之间的数字: "))
    
    # 猜测次数递增
    guess_count += 1
    
    # 判断猜测是否正确
    if guess == target_number:
        print(f"恭喜你猜对了!目标数字是 {target_number},你用了 {guess_count} 次猜测。")
        break
    elif guess < target_number:
        print("猜小了,再试一次吧!")
    else:
        print("猜大了,再试一次吧!")

可以把target_number打印出来以验证结果

打印9×9乘法表

while循环打印

# 定义外层循环的控制变量
i = 1
while i <= 9:
    # 定义内层循环的控制变量
    j = 1
    while j <= i:
        # 内层循环的print语句,不要换行,通过\t制表符进行对齐
        print(f"{j} * {i} = {j * i}\t", end='')
        j += 1

    i += 1
    print()     # print空内容,就是输出一个换行

这里补充说明一下,python中print语句是自带换行的,如需取消换行在后面加上end=''即可

输出结果

1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81	

for循环打印

# 通过外层循环控制行数
for i in range(1, 10):
    # 通过内层循环控制每一行的数据
    for j in range(1, i + 1):
        # 在内层循环中输出每一行的内容
        print(f"{j} * {i} = {j * i}\t", end='')
        
    # 外层循环可以通过print输出一个回车符
    print()

结果与while循环一致

range的具体使用

range() 函数是Python内建的一个用于生成整数序列的函数。它的一般形式是 range([start,] stop[, step]),其中 start 是起始值(默认为0),stop 是结束值(不包括在序列中),step 是步长(默认为1)。包前不包后(a,b]

示例

1. 使用 range() 打印一系列数字:
for num in range(5):
    print(num)

输出:

0
1
2
3
4

在这个例子中,range(5) 生成了一个包含 0 到 4 的整数序列,for 循环遍历这个序列并打印每个数字。

2. 指定起始值和结束值:
for num in range(2, 8):
    print(num)

输出:

2
3
4
5
6
7

在这个例子中,range(2, 8) 生成了一个包含 2 到 7 的整数序列。

3. 指定步长:
for num in range(1, 10, 2):
    print(num)

输出:

1
3
5
7
9

在这个例子中,range(1, 10, 2) 生成了一个包含 1 到 9 的整数序列,步长为2。

注意事项

  • range() 生成的序列是惰性的,它并不一次性生成整个序列,而是在每次循环迭代时生成下一个值。这使得 range() 非常适用于在循环中迭代大范围的数字,因为它并不占用大量内存。
  • range() 可以用于任何需要生成整数序列的场景,例如在循环中迭代、生成列表、索引访问等。

总的来说,range() 是一个强大而灵活的工具,用于生成整数序列,尤其在 for 循环中经常被使用。

有关python中循环的相关知识暂时就分享到这里,如果对大家有所帮助,还请点赞支持一下!

  • 47
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值