Python 循环结构

循环结构

Python中,循环结构用于重复执行一段代码,直到满足某个条件为止。Python提供了几种循环结构,包括for循环和while循环。

  • while

while循环会不断执行代码块,只要指定的条件为真。

while循环代码结构

while 条件:
    条件满足时执行...
    ...

示例:是打印出1到10之间的所有整数,包括1和10。

实现原理是使用一个变量i,初始值为0,在while循环中,每次循环都把i的值加1,并使用print函数打印i的值。循环条件是i小于10。注意事项是使用 end=" " 参数来指定打印输出的分隔符,这样打印出的数字之间会有一个空格分隔

i = 0
while i < 10:
    i += 1
    print(i, end=" ")    # 输出结果 1 2 3 4 5 6 7 8 9 10
  1. while 嵌套使用

while 循环嵌套代码结构

while 条件1:
    条件1满足时执行...
    ...
    while 条件2:
        条件2满足时执行...
        ...

示例:如何使用嵌套循环来执行任务。

  1. 首先,我们初始化一个变量 i,其值为1i 将作为外层循环的循环变量。
  2. 接下来,我们使用 while 循环来控制 i 的值。循环条件是 i <= 2,这意味着 i 的值将不超过2。在每次循环中,我们都会增加i的值。
  3. 在每次循环中,我们还将执行内层循环。我们初始化一个变量 j,其值为0j 将作为内层循环的循环变量。
  4. 同样,我们使用while循环来控制j的值。循环条件是j <= 20,这意味着j的值将不超过20。在每次循环中,我们都会增加j的值。
  5. 在内层循环中,我们使用print函数来打印当前ij的值。end=" "表示以两个空格结束打印,而不是默认的换行符。
  6. 外层循环将重复执行,直到i的值达到3。在内层循环中,j的值将根据i的值进行调整,以便在每个i的值时都打印一组新的数值。

总之,这段代码的目的是展示如何使用嵌套循环来执行任务。这个例子中的任务是简单地打印出一些数值,但你可以根据需要修改它来执行其他任务。

i = 1
while i <= 2:
    i += 1
    j = 0
    while j <= 20:
        j += 20
        print("i + j = ", i + j, end="  ")   # 输出结果 i + j =  22  i + j =  42  i + j =  23  i + j =  43
  • for

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

for循环代码结构

for 临时变量 in 待处理数据集(序列):
    循环满足条件时执行...

示例:代码的含义是打印出字符串"hello world"中的每个字符,每个字符之间用空格分隔。

实现原理:

  1. 首先,我们使用name = "hello world"变量赋值字符串"hello world"。
  2. 然后,我们使用for i in name:语句遍历字符串中的每个字符。
  3. 在循环内部,我们使用print(i, end=" ")语句打印每个字符,并在每个字符之间添加一个空格。其中,end=" "表示以空格作为打印结束的标志,防止打印出换行符。
name = "hello world"
for i in name:
    print(i, end=" ")    # 输出结果 h e l l o   w o r l d 
  1. range

待处理数据集,可迭代类型: 其内容可以一个个依次取出的一种类型

  • 字符串
  • 列表
  • 元组
语法描述示例值
range(num)0 开始,到 num 结束,不包含 numrange(3) => [0,1,2]
range(num1, num2)num1 开始,到 num2 结束,不包含 num2range(1, 3) => [1,2]
range(num1, num2, step)num1 开始,到 num2 结束,不包含 num2,步长 steprange(0, 10, 2) => [0,2,4,6,8]

实例:代码的含义是打印0到9之间的所有偶数,以空格作为分隔符。

实现原理:range()函数用于生成一个整数序列,从起始值(0)开始,每次递增步长(2),直到达到结束值(10)但不包括结束值。然后,使用for循环遍历这个序列,每次循环时,变量i的值即为当前要打印的偶数。在循环内部,使用print()函数打印当前的i值,并使用end=" "参数设置打印时的分隔符为空格。

用途:这个代码片段通常用于打印0到9之间的所有偶数,可以用于检查数字序列中的偶数。

for i in range(0, 10, 2):
    print(i, end=" ")    # 输出结果 0 2 4 6 8
  1. 嵌套使用

循环可以嵌套,即一个循环的循环体中可以包含另一个循环。

for 临时变量 in 待处理数据集(序列):
    循环满足条件时执行...
    ...
    for 临时变量 in 待处理数据集(序列):
        循环满足条件时执行...
        ...

实例:for循环打印九九乘法表

实现原理:

  1. range(1, 10):这是一个生成从1到10(不包括10)的整数序列的函数。这个序列将用于表示乘法表的行数。
  2. for i in range(1, 10)::使用range(1, 10)生成的序列,循环遍历每一行。i变量将表示当前行的行数(范围是1到10)。
  3. for j in range(1, i + 1):: inner loop。使用range(1, i + 1)生成的序列,循环遍历每一行的每个数字(从1到i+1)。j变量将表示当前行的每个数字。
  4. print(f"{j} * {i} = {j * i}\t", end=""): 使用format()函数和print()函数,打印当前行的每个数字及其乘法结果,并以\t作为分隔符。注意,这里使用了end="\t"参数,以便在每次打印时保留一个空格。
  5. print(): 用于换行,将内部循环的当前行内容打印在屏幕上。
  6. for loops: 这段代码使用了两个嵌套的for循环,共同组成一个多维数组遍历的结构。

注意事项:

  • 这段代码在执行时不会返回任何值,但它会打印出1到10之间的所有乘法表。
  • 如果需要将结果存储在变量中,或者对结果进行进一步处理,可以考虑将print()语句替换为其他数据存储或处理方法。
  • 由于代码使用了end="\t"参数,每个数字和其乘法结果之间的空格将保留,这可能不是最佳阅读方式。可以通过修改print()语句中的end参数来更改输出格式。
# for循环打印九九乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j} * {i} = {j * i}\t", end="")
    print()
  • continue

临时跳过,中断本次循环,直接进入下一次循环

for 临时变量 in 待处理数据集(序列):
    循环满足条件时执行1...
    continue
    循环满足条件时执行2...       # 这里不会执行,进入下一次循环

实例:打印一个包含 5 个整数的序列,每次打印一个整数后立即继续下一轮循环。continue关键字用于跳过当前循环的剩余代码,并进入下一轮循环。

实现原理:range()函数生成一个整数序列,for循环遍历这个序列。在循环内部,print()函数打印当前的整数,然后使用continue关键字跳过后续的print()语句。这样,每次循环都只打印一个整数,然后跳到下一轮循环。

用途:该代码通常用于过滤掉不符合条件的数据,或者仅为了输出结果。例如,在遍历一个列表时,可以使用continue关键字跳过不需要处理的元素。

注意事项:continue关键字仅跳过当前循环的剩余代码,而不会影响外层循环的继续执行。如果需要在整个循环结束后执行某些操作,需要在循环内部使用break关键字。

for i in range(5):
    print(i, end=" ")
    continue
    print("for循环内 continue之后的代码 将不会被执行,进入下一次循环")
  • break

直接结束循环

在嵌套循环中,只能作用在所在层循环上,无法对上层循环起作用

使用方法:

for 临时变量 in 待处理数据集(序列):
    循环满足条件时执行1...
    break
    循环满足条件时执行2...       # 这里不会执行,并跳出循环

实例:打印一个整数的序列,并使用break关键字用于结束循环。

实现原理:

  1. 使用 range(5) 函数创建了一个从0开始的整数序列,直到数字4。
  2. 使用 for 循环遍历这个序列。
  3. 在循环内部,使用 print(i) 语句打印当前的整数。
  4. 使用 break 语句跳出循环。由于 print 语句和 break 语句是在同一个作用域内执行的,因此当 break 执行时,循环会立即退出,不会执行后续的代码。

用途:

这个代码的主要目的是通过循环遍历整数序列,并在每次迭代时打印整数。通过在循环内部使用 break 语句,可以实现只要满足某个条件,循环就会立即退出,不再执行后续的迭代。

for i in range(5):
    print(i)
    break
    print("已经跳出循环,不会被执行了...")    # 输出结果 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值