while循环及其应用场景
一, while循环语法
while循环格式
# Stip1: 定义一个计数器 (初始化一个计数器)
i = 0 # 或i = 1
# Step2: 编写while循环结构
while 循环条件(判断 计数器 是否达到了目标位置):
循环体1
循环体2
...
Step3: 在循环内部更新计数器
i = i + 1 # 或 i += 1
普及小知识: 在计算机程序中, 计数器大部分都是从0开始的.
while循环特点
while循环三步走:
-
- 初始化计数器
-
- 编写循环条件 (判断计数器是否达到了目标位置)
-
- 在循环内部更新计数器
while循环流程
二, while循环案例
案例1: 入门案例, 使用while循环, 循环输出5遍"Hello World"
# 1. 初始化计数器
i = 0
# 2. 编写循环条件 (判断计数器是否达到了5)
while i < 5:
# 3. 在循环体内部打印"Hello World"
print('Hello World')
# 4. 在循环体内部更新计数器
i += 1
案例2: 使用while循环求1 ~ 100的和
案例需求
使用while循环求1 ~ 100的和
实现思路
- (循环外)定义求和的变量, 记录1 ~ 100所有值的总和.
- 定义变量, 记录循环的计数器的值.
- 获取 1 ~ 100之间所有的整数.
- 循环累加变量.
- 更新计数器的值.
- 打印求和结果
# 1. (循环外)定义求和的变量, 记录1 ~ 100所有值的总和.
sum = 0
# 2. 定义变量, 记录循环的计数器的值.
i = 1
# 3. 获取1 ~ 100之间所有的整数.
while i <= 100: # i的值: 1 , 2, 3, 4, ... 100
# 4. 循环累加变量
sum += i
# 5. 更新计数器的值
i += 1
# 6. 打印求和结果
print(f'1 ~ 100累加后的结果: {sum}')
案例3: 使用while循环求1 ~ 100之间, 所有偶数的和
案例需求
使用while循环求1 ~ 100之间, 所有偶数的和
实现思路1: if判断.
- (循环外)定义求和变量, 记录 1 ~ 100 所有偶数值的总和.
- 定义变量, 记录循环的计数器的值.
- 获取 1 ~ 100 之间所有的整数.
- 判断是否是偶数, 如果是, 就求和.
- 循环累加变量.
- 更新计数器的值.
- 打印求和结果.
# 1. (循环外)定义求和变量, 记录 1 ~ 100 所有偶数值的总和.
sum = 0
# 2. 定义变量, 记录循环的计数器的值.
i = 0
# 3. 获取 1 ~ 100 之间所有的整数.
while i <= 100: # i的值: 1, 2, 3, 4, ... 100
# 4. 判断是否是偶数, 如果是, 就求和.
if i % 2 == 0
# 5. 循环累加变量.
sum += i
# 6. 更新计数器的值.
i += 1
# 7. 打印求和结果.
print(f'1 ~ 100之间, 所有偶数累加后的结果: {sum}')
实现思路2: 累加2, if 等差数列.
- (循环外)定义求和变量, 记录 1 ~ 100 所有偶数值的总和.
- 定义变量, 记录循环的计数器的值.
- 获取 1 ~ 100 之间所有的整数.
- 循环累加变量.
- 更新计数器的值.
- 打印求和结果.
# 1. (循环外)定义求和变量, 记录 1 ~ 100 所有偶数值的总和.
sum = 0
# 2. 定义变量, 记录循环的计数器的值.
i = 2
# 3. 获取 1 ~ 100 之间所有的整数.
while i <= 100: # i的值: 2, 4, 6, 8, ... 100
# 5. 循环累加变量.
sum += i
# 6. 更新计数器的值.
i += 2
# 7. 打印求和结果.
print(f'1 ~ 100之间, 所有偶数累加后的结果: {sum}')
案列3: 使用while循环, 猜数字
案例需求
编写一个Python程序,随机生成一个1到100之间的整数,用户通过输入猜测的数字,程序会根据用户的输入提示“猜大了”、“猜小了”或“猜对了”。用户可以无限次猜测,直到猜对为止。猜对后,程序会提示用户并结束游戏。
实现思路
- 随机生成1个 1 ~ 100之间的随机数, 让用户来猜.
- 因为不知道用户多少次能猜对, 所以用: while循环.
- 接收用户录入的猜的数字.
- 比较两个数字, 并做出对应的提示, 猜大, 猜小.
- 如果用户猜对了, 就结束程序.
import random
# 1. 随机生成1个 1 ~ 100之间的随机数, 让用户来猜.
guess_num = random.randint(1,100) # 包左包右
# 2. 因为不知道用户多少次能猜对, 所以用: while循环.
while True:
# 3.接收用户录入的猜的数字.
input_num = eval(input('请输入您要猜的数字: '))
# 4. 比较两个数字, 并做出对应的提示, 猜大, 猜小.
if input_num > guess_num:
print('您猜大了!')
elif input_num < guess_num:
print('您猜小了!')
else:
# 5. 如果用户猜对了, 就结束程序.
print('您猜对了, 请找没美婷老师领取练习题一套!')
break
巩固练习
在指定位置处填写代码, 使得完成指定需求.
i = 1
while i <= 10:
if i % 3 == 0:
# 在这里填写代码, 使得循环分别输出2次, 7次, 13次Hello World
print(f'hello world {i}')
i += 1
# (1)break 2次
# (2)i += 1
# continue 7次
# (3)print('hello world {i}') 13次
三, 总结
-
Q1:while循环的基本语法是什么?
- while循环的基本语法包括初始化计数器、编写循环条件、在循环内部更新计数器。