1-While循环
语法:
变量 = 初始值 while 条件判断: 循环体(要循环执行的代码) 条件控制语句 注意:如果条件恒成立或者直接写True,就会出现无限循环
示例:
# 打印99次,“你好,世界”
# 变量先定义再使用
i = 1
while i <= 100:
print("你好,世界。")
i += 1
示例2:
while True:
print("这是一个无限循环。")
求1~100的整数之和
示例:
# 需求:使用while循环求1~100的和
# 思路:先确定变量范围1~100,然后循环累加求和
# 定义变量用于保存累加结果
# 1-定义初始变量
i = 0
sum = 0
# 2-while的循环条件
while i <= 100:
# 3-循环体
sum = sum + i
# 4-条件控制
i = i + 1
print(sum)
求1~100的数之和
示例:
# 需求:使用while循环求1~100奇数的和
# 思路:先确定变量范围1~100,然后循环累加求和
# 定义变量用于保存累加结果
# 1-定义初始变量
i = 1
sum = 0
# 2-while的循环条件
while i <= 100:
# 3-循环体
sum = sum + i
# 4-条件控制
i = i + 2
print(sum)
示例2:
# 需求:使用while循环求1~100偶数的和
# 思路:先确定变量范围1~100,然后循环累加求和
# 定义变量用于保存累加结果
# 1-定义初始变量
i = 0
sum = 0
# 2-while的循环条件
while i <= 100:
# 3-循环体
sum = sum + i
# 4-条件控制
i = i + 2
print(sum)
示例3:
# 需求:使用while循环求7的倍数或者位数为7的和
# 思路:先确定变量范围1~100,然后循环累加求和
# 定义变量用于保存累加结果
# 1-定义初始变量
i = 0
sum = 0
# 2-while的循环条件
while i <= 100:
# 3-循环体
if i % 7 == 0 or i % 10 == 7 or i // 10 == 7:
sum = sum + i
# 4-条件控制
i = i + 1
print(sum)
猜数字无限循环
示例:
# 需求:编写猜数字游戏,实现无限循环
# 1-获取随机数作为被猜的谜底
import random
number = random.randint(1, 100)
# 设置循环次数变量用于记录猜测的次数
count = 1
# 2-循环猜数字
while True:
guss_number = int(input("请输入你猜测的数字: "))
# 猜测数字是否正确
if guss_number == number:
print(f"恭喜你,猜对了。你一共猜了{count}次。")
# 猜对之后退出游戏
# break可以跳出当前的循环
break
elif guss_number < number:
print("猜小了。")
else:
print("猜大了。")
count += 1
while嵌套循环案例
示例:
# 需求:向小美连续表白100天,每天表白送10朵玫瑰花
# 定义初始变量
i = 0
# 定义外部while循环
while i < 100:
# 循环体
print(f"今天是向小美表白的第{i+1}天")
# 定义内部循环的初始变量
j = 0
# 定义内部while循环
while j < 10:
# 循环体
print(f"这是第{i+1}天,向小美送的第{j+1}朵玫瑰花")
# 控制语句
j += 1
# 控制语句
i += 1
打印九九乘法表
示例:
# 定义外层循环控制初始变量
i = 1
# while循环输出
while i <= 9:
# 定义内部循环控制初始变量
j = 1
# 循环体
while j <= i:
# 循环体
print(f"{i}*{j}={i * j}", end=" ")
# 控制语句
j += 1
print()
# 控制语句
i += 1
2-for循环
语法:
1- for循环基本格式: # 当待处理的数据集中的所有元素被遍历之后自动跳出循环 for 临时变量 in 待处理的数据集 循环体
示例:
# 需求1:已知字符串 Hello world,需要遍历每个字符输出到控制台
for i in "Hello world":
print(i)
统计字符串中字符的个数
示例:
# 定义待统计的字符串
name = "You is a good friend"
# 定义计数变量
number = 0
# 使用for循环对字符串进行遍历
for i in name:
# 对每个字符进行判断是否为a
if i == 'o':
number += 1
print(f"{name}中共含有{number}个字母'a'。")
求1~100的数之和
示例:
# 需求1:计算1~100之间所有整数之和
# 1-定义变量记录累加的结果
sum = 0
# 2-使用for循环遍历0到100的所有整数并累加
# range(num1, num2)生成一个从num1(包含)到num2(不包含)的数列集合
for i in range(1, 101):
# 循环累加所有的整数
sum += i
print(sum)
示例2:
# 需求2:计算1~100之间所有偶数之和
# 方式一
# 1-定义变量记录累加的结果
sum = 0
# 2-使用for循环遍历0到100的所有偶数并累加
# range(num1, num2)生成一个从num1(包含)到num2(不包含)的数列集合
for i in range(1, 101):
if i % 2 == 0:
sum += i
print(sum)
# 方式二
# 1-定义变量记录累加的结果
sum = 0
# 2-使用for循环遍历0到100的所有偶数并累加
# range(num1, num2)生成一个从num1(包含)到num2(不包含)的数列集合
for i in range(0, 101,2):
sum += i
print(sum)
猜数字3次机会
示例:
# 需求:实现猜测随机数字游戏,一共有3次机会
# 1-生成随机数
import random
guss_number = random.randint(1, 100)
print(guss_number)
# 2-使用for循环遍历3次猜数字
for i in range(3):
# 2-1 获取用户猜测的数字
number = int(input('请输入你猜测的数字:'))
# 2-2 判断猜测是否正确
if number == guss_number:
print("恭喜你猜对了。")
# 跳出循环
break
else:
if number > guss_number:
print("猜大了。")
else:
print("猜小了。")
九九乘法表
# 实现每行循环一次,一共九行
for i in range(1, 10):
# print(f"这是第{i}行", end='\t')
# 实现每行i次循环
for j in range(1, i + 1):
# \t是4个空格
print(f"{j}*{i}={j * i}", end='\t')
# 换行
print()
3-中断循环
break跳出循环
示例:
# 需求:上班能从18岁开始上班到99岁,当然如果中间满足60岁可以办理退休
# 方式一:for循环实现
for i in range(1, 100):
if i == 60:
print(f"你{i}岁了,你可以退休了。")
break
else:
print(f"你{i}岁了,年轻人,加油干!!!")
# 方式二:while循环实现
j = 1
while j < 100:
# 当满足60岁时可以办理退休
if j == 60:
print(f"你{j}岁了,你可以退休了。")
break
else:
print(f"你{j}岁了,年轻人,加油干!!!")
# 控制语句
j += 1
continue跳过循环
示例:
# 需求:保安每天夜里要巡楼,每层(一共32层)都要看一下,到了夜深人静。
# 一个人坐电梯不想让它在4、14、24层停
# 方式一:for循环实现
for i in range(1, 33):
if i % 10 == 4:
continue
print(f"{i}层到了,开始巡楼")
# while循环
i = 0
while i < 32:
# 循环控制语句
i += 1
# 循环体
if i % 10 == 4:
continue
print(f"{i}层到了,开始巡楼")
总结:
break:跳出循环,结束循环
continue:跳过某次循环,继续下一次循环
continue和break在for和while循环中作用一致
在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用