### 详解Python的循环结构知识点 #### 一、引言 在编程中,循环结构是一种非常重要的控制结构,它允许程序多次执行同一段代码,从而避免了大量的重复编码工作。Python 提供了两种基本的循环结构:`for` 循环和 `while` 循环。本文将详细介绍这两种循环的基本用法以及它们的一些高级应用。 #### 二、循环结构的应用场景 循环结构广泛应用于各种编程场景中。例如,在控制机器人踢足球的过程中,如果机器人持球但还未到达射门范围,则需要不断发出指令让机器人向球门方向移动。此外,若需实现每秒钟在屏幕上打印 "hello, world" 并持续一小时,显然不可能手动编写 3600 次 `print('hello, world')` 的代码。此时,循环结构成为了解决这类问题的有效手段。 #### 三、`for-in` 循环 `for-in` 循环适用于已知循环次数的情况或需要对集合(如列表、元组等)进行迭代的情形。 ##### 示例:使用 `for-in` 循环实现 1~100 求和 ```python sum = 0 for x in range(101): sum += x print(sum) ``` 在以上代码中,`range(101)` 生成了一个包含从 0 到 100 的整数序列,`for-in` 循环依次取这些值并累加到变量 `sum` 中。 ##### 使用 `range()` 函数 `range()` 函数可以接受 1 至 3 个参数,并返回一个不可变的整数序列。 - `range(stop)`:生成从 0 到 stop-1 的序列。 - `range(start, stop)`:生成从 start 到 stop-1 的序列。 - `range(start, stop, step)`:生成从 start 开始、到 stop-1 结束、每次递增 step 的序列。 例如: - `range(101)` 生成 0 到 100 的序列。 - `range(1, 100)` 生成 1 到 99 的序列。 - `range(1, 100, 2)` 生成 1 到 99 的所有奇数。 ##### 示例:使用 `for-in` 循环实现 1~100 偶数求和 方式一:直接使用 `range()` 的第三个参数来跳过奇数。 ```python sum = 0 for x in range(2, 101, 2): sum += x print(sum) ``` 方式二:结合 `if` 语句过滤奇数。 ```python sum = 0 for x in range(1, 101): if x % 2 == 0: sum += x print(sum) ``` #### 四、`while` 循环 当无法预先确定循环次数时,可使用 `while` 循环。其结构如下: ```python while 条件: # 循环体 ``` 只要条件为真,就会执行循环体中的代码。 ##### 示例:猜数字游戏 下面通过一个猜数字游戏来展示 `while` 循环的使用方法: ```python import random answer = random.randint(1, 100) counter = 0 while True: counter += 1 number = int(input('请输入: ')) if number < answer: print('大一点') elif number > answer: print('小一点') else: print('恭喜你猜对了!') break print('你总共猜了%d次' % counter) if counter > 7: print('你的智商余额明显不足') ``` 此示例中,使用 `break` 关键字来提前结束循环。另外,`continue` 关键字可用于跳过当前循环的剩余部分并立即进入下一次循环。 #### 五、嵌套循环 循环结构可以嵌套使用。例如,以下代码使用双重循环输出一个九九乘法表: ```python for i in range(1, 10): for j in range(1, i + 1): print('%d*%d=%d' % (i, j, i * j), end='\t') print() ``` #### 六、练习 ##### 练习1:判断素数 编写一个程序,输入一个正整数并判断其是否为素数。 ```python from math import sqrt num = int(input('请输入一个正整数: ')) is_prime = True if num < 2: is_prime = False else: for x in range(2, int(sqrt(num)) + 1): if num % x == 0: is_prime = False break if is_prime: print(f'{num} 是素数') else: print(f'{num} 不是素数') ``` #### 七、总结 本文详细介绍了 Python 中 `for-in` 和 `while` 循环的基础与高级用法。循环结构在实际开发中有着广泛的应用,理解它们的工作原理和正确使用技巧对于成为一名合格的 Python 开发者至关重要。希望本文能帮助读者更好地掌握 Python 的循环结构,并在实践中灵活运用。
- 粉丝: 5
- 资源: 968
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助