Python基础——循环结构

前言

在编写程序时,控制流结构至关重要,它决定了程序的执行路径。Python中的控制流结构主要包括顺序结构、分支结构和循环结构。本节将详细介绍循环结构,帮助你更好地理解如何控制程序的重复执行。

1. 循环结构的概念

循环结构是指在满足一定条件时重复执行某段代码的结构。这种结构使得程序能够高效地处理重复性的任务。Python提供了两种基本的循环结构:while循环和for循环。

1.1 循环的基本要素

每个循环结构通常包含以下几个基本要素:

  • 初始条件:确定循环开始前的一些初始设置。
  • 循环条件:决定循环是否继续进行的条件表达式。
  • 循环体:循环中需要重复执行的代码块。
  • 更新条件:用于修改循环条件,使得循环可以终止。

2. while循环

while循环是Python中的一种基本循环结构,适用于在条件为真时重复执行某段代码。

2.1 结构和语法

while循环的基本语法如下:

while 条件:
    # 循环体
    # 更新条件

2.2 示例

count = 0
while count < 5:
    print(f"计数器的值为: {count}")
    count += 1

输出结果:

计数器的值为: 0
计数器的值为: 1
计数器的值为: 2
计数器的值为: 3
计数器的值为: 4

在这个例子中,while循环的作用是不断检查count < 5是否为真。当条件为真时,执行循环体中的代码,打印当前计数器的值,并将count的值加1。这个过程持续到count达到5,循环条件为假,循环结束。

注意事项:

  • 确保循环条件最终能够变为假,否则会造成无限循环。
  • 更新条件的位置和内容要慎重,避免跳过或遗漏。

3. for循环

for循环是Python中另一个常用的循环结构,通常用于遍历序列(如列表、字符串、元组等)。

3.1 结构和语法

for循环的基本语法如下:

for 变量 in 序列:
    # 循环体

3.2 示例

fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

输出结果:

我喜欢吃苹果
我喜欢吃香蕉
我喜欢吃橘子

在这个例子中,for循环用于遍历fruits列表中的每个元素。在每次迭代中,当前的元素被赋值给变量fruit,然后打印出“我喜欢吃”加上水果的名字。这种用法在处理列表、元组或其他可迭代对象时非常常见。

注意事项:

  • for循环中的序列可以是列表、元组、字符串或其他可迭代对象。

4. for结合range的使用

range函数在Python中非常常用,尤其是在for循环中。range函数生成一个整数序列,通常用于控制循环的次数。

4.1 range(stop)

这种形式生成从0到stop - 1的整数序列,适用于循环次数已知的情况。

for i in range(5):
    print(i)

输出结果:

0
1
2
3
4

在这个例子中,range(5)生成一个从0到4的整数序列,for循环遍历这个序列,并将每个值赋给变量i,然后打印出来。这样我们可以轻松地控制循环的次数。

4.2 range(start, stop)

这种形式生成从startstop - 1的整数序列。

for i in range(2, 6):
    print(i)

输出结果:

2
3
4
5

这里,range(2, 6)生成一个从2到5的整数序列。这个序列中包含的数字从start开始,到stop - 1结束,for循环遍历这些数字并打印出来。

4.3 range(start, stop, step)

这种形式生成从startstop - 1的整数序列,step表示步长,可以是正数或负数。

for i in range(1, 10, 2):
    print(i)

输出结果:

1
3
5
7
9

在这个例子中,range(1, 10, 2)生成的序列是1, 3, 5, 7, 9。这里的步长2使得序列中每个数字间隔两个数字。

另一个例子:

for i in range(10, 0, -2):
    print(i)

输出结果:

10
8
6
4
2

这里,range(10, 0, -2)生成的序列是10, 8, 6, 4, 2。步长-2表示从10开始,每次减少2,直到大于0为止。

5. breakcontinue语句

在循环中,breakcontinue语句用于控制循环的执行流程。

5.1 break语句

break语句用于立即终止循环,不再执行循环体中的剩余代码或后续的迭代。

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

输出结果:

0
1
2
3
4

在这个例子中,当i等于5时,break语句会立即终止循环,所以5及其后续的数字不会被打印。

5.2 continue语句

continue语句用于跳过当前循环体中的剩余代码,立即进入下一次迭代。

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

输出结果:

0
1
3
4

在这个例子中,当i等于2时,continue语句会跳过当前的打印操作,直接进入下一次循环。因此2不会被输出。

6. 循环中的应用示例

6.1 计算1到100之间的偶数和

total = 0
for number in range(1, 101):
    if number % 2 == 0:
        total += number
print(f"1到100之间所有偶数的和是: {total}")

在这段代码中,我们使用range(1, 101)生成1到100的整数序列。对于每个数字,我们检查它是否是偶数(即number % 2 == 0),如果是偶数,就将它加到total中。最后,我们输出总和。

输出结果:

1到100之间所有偶数的和是: 2550

6.2 打印九九乘法表

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{i} * {j} = {i * j}", end='\t')
    print()

在这个例子中,外层for循环控制行数,i从1到9。内层for循环控制列数,j从1到i。每次迭代,内层循环输出当前乘法的结果,如1 * 1 = 1end='\t'使得每个输出结果后面都有一个制表符,以美观地排列输出。外层循环的print()函数用于换行。

输出结果:

1 * 1 = 1	
2 * 1 = 2	2 * 2 = 4	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	
5 * 1 = 5	5 * 2 =

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

6.3 猜数字游戏

import random

number_to_guess = random.randint(1, 10)
guessed = False

while not guessed:
    guess = int(input("猜一个1到10之间的数字:"))
    if guess == number_to_guess:
        print("恭喜你,猜对了!")
        guessed = True
    elif guess < number_to_guess:
        print("猜的数字太小了。")
    else:
        print("猜的数字太大了。")

在这个游戏中,我们首先使用random.randint(1, 10)生成一个1到10之间的随机整数作为目标数字。while not guessed是一个条件循环,表示只要玩家没有猜对数字,循环就会继续执行。玩家输入的数字被转换为整数,并与目标数字进行比较。如果玩家猜对了,程序输出“恭喜你,猜对了!”并终止循环;如果猜错了,程序会给出提示,告诉玩家数字太大还是太小。

注意事项:

  • 使用random模块时,请确保在文件的开头有import random语句。

7. 总结

在本节中,我们详细介绍了Python中的while循环和for循环,以及如何使用breakcontinue语句控制循环的执行。我们还讨论了如何使用range函数生成数字序列,并结合for循环执行重复性任务。循环结构是编写高效和动态程序的关键,可以大大简化需要重复执行的任务。

需要注意的地方:

  • 在使用循环时,确保循环条件和更新条件正确,以避免无限循环。
  • breakcontinue语句可以改变循环的正常流向,应谨慎使用。
  • for结合range的使用非常灵活,适用于各种循环需求。

通过学习这些内容,你将能够更好地控制程序的执行流程,为复杂的任务找到高效的解决方案。在下一节中,我们将继续探讨Python中的函数和模块,这将帮助你构建更加结构化和可复用的代码。希望大家保持学习的热情,如果有任何疑问或想法,欢迎在评论中交流!

参考资料:

  • 《Python编程:从入门到实践》
  • 《Python基础教程》

如果文章有错误的地方,欢迎指正!大家可以互相交流学习。如果你想获取更多的Python资源或者Python书籍,可以关注微信公众号:全端工程师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值