一、while循环的基础语法
程序中的循环:
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
......
即只要条件满足,会无限循环执行
代码示例:
# 简单示例:向Vivian表白100次
i = 0
while i < 100:
print("Vivian,我喜欢你!")
i +=1
1.while的条件需为bool类型,True表示继续循环,False表示结束循环
2.需要设置终止循环的条件,如i +=1配合i<100,就能确保100后停止,否则将会无限循环
3.空格缩进
练习 利用while实现1-100求和
# 练习-求1-100的和
i = 1
re = 0
while i <=100:
re += i
i += 1
print(re)
二、while循环猜数字案例
# 设置1-100范围的随机数,通过while循环配合input判断输入的数字是否相等
import random
num = random.randint(1,100)
# 定义变量记录猜测的次数
count =0
# 定义一个bool类型的变量,作为是否继续循环的标记
flag = True
while flag:
guess_num = int(input("请输入你猜测的数字:"))
count += 1
if guess_num == num:
print("恭喜你,猜对啦")
# 利用flag来终止循环
flag = False
else :
if guess_num < num:
print("猜小了")
else :
print("猜大了")
print(f"你猜测了{count}次")
三、while的循环嵌套
# 为while的嵌套语法
# 表白100天,每次都送10朵玫瑰花
# 外:表白100天;内:每天送10只花
i = 1
while i <= 100:
print(f"今天是第{i}天,准备表白")
# 内层控制玫瑰花
j = 1
while j <= 10:
print("送给小美%s枝玫瑰花" %j)
j += 1
print("小美我喜欢你")
i += 1
print(f"表白了{i-1}次,表白成功")
注意事项:
1.注意条件的控制,避免无限循环
2. 多层嵌套,主要使用空格缩进来确定层次关系
四、while循环的潜逃案例
使用while嵌套循环打印9*9乘法表
补充知识点:
1、输出不换行--在print语句中,加上end=''即可
2、制表符\t (换行\n)
\t 相当于tab键 可以实现多行字符串对齐
打印出的乘法表
# while实现九九乘法表
# 外层控制行 内层控制行的内容
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={j*i}\t",end='')
j += 1
i += 1
print()
五、for循环的基础语法
1.基础语法
for循环是一种‘轮询’机制,对内容进行逐个处理
程序中的for循环语法:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
#定义变量
name = "springbear"
#使用for循环遍历
for X in name:
# 将变量name中的内容挨个取出赋予X临时变量
print(X,end='')
可以看出,for循环是将字符串的内容--
依次取出
;因此for循环也被称作:
遍历循环
注意:循环内的语句要有空格缩进
# 练习 数一数字符串中有几个a (区分大小写的)
# 定义字符变量
name = input()
flag = input()
# 定义一个计数变量
count = 0
for X in name:
if X == flag:
count += 1
print(f"{name}中含有:{count}个{flag}")
2.range语句
for循环语句本质是遍历:序列类型(目前除了 字符串外其他的类型--列表、元祖等没接触过)但是不影响我们学习range 获得一个简单的数字序列
# 练习案例-求有多少个偶数
num = 100
count = 0
for X in range(1,num):
if X % 2 == 0:
count += 1
print(f"1-{num}(不含109)范围内,有{count}个偶数")
3.for循环变量作用域:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
临时变量,在编程规范,作业范围(作用域),只限定在for循环内部
如果在for循环外部访问临时变量:
-
实际上可以访问
-
在编程规范,不不允许不建议如此操作
# 语法3 range(num1,num2,step)
for X in range(2,10,2):
print(X)
# 从2开始到10结束,不包含5本身并且步长为2-数字间隔为2
print(X) # 有警告但是没有报错,可以运行,但是不符合代码规范
如果想在for循环之外正常访问临时变量,可以在for循环语句之前先定义临时变量
六、for循环的嵌套使用
同while一样,for循环也支持嵌套使用
for 临时变量 in 待处理数据集:
循环满足的条件1
.....
循环满足的条件N
....
for 临时变量 in 待处理数据集:
循环满足的条件1
.....
循环满足的条件N
注意空格缩进
# 每天表白,坚持100天,每天送10朵花
i = 0
for i in range(1,101):
print(f"今天是向小美表白的第{i}天。")
# 内层控制送花
for j in range(1,11):
print(f"给小美送的第{j}朵花")
print("我喜欢你,小美")
print(f"第{i}天,表白成功")
for循环嵌套注意点:
1.空格缩进
2.for循环和while循环可以互相嵌套使用
# for循环实现九九乘法表
for i in range(1,10): # 外层控制行
for j in range (1,i+1): # 内层控制每一行输入内容
print(f"{j}*{i}={j*i}\t",end='')
print()
七、循环中断: break 和 continue 关键字控制循环
在循环的重复过程中,会有一些特殊情况使得:
-
暂时跳过某次循环,直接进行下一步
-
提前退出循环,不再继续 break
1、continue--中断本次循环直接进入下一循环 用于for/while 效果一样 临时中断
# 演示continue语法以及输出
for i in range(1,5):
print("语句1")
continue
输出:
语句1
语句1
语句1
语句1
# 演示continue语法嵌套以及输出
for i in range(1,5):
print("语句1",end='')
for j in range(1,3):
print("语句2",end='')
continue # 作用范围在所在的循环中,对外层循环没有影响力
print("语句3",end='') # 语句3被中断
print("语句4")
输出;
语句1语句2语句2语句4
语句1语句2语句2语句4
语句1语句2语句2语句4
语句1语句2语句2语句4
2、break--直接结束循环,用于for/while 效果一样 永久中断
# # 演示break语法以及输出
for i in range(1,5):
print("语句1")
break
print("语句2") # 因为遇到break整个循环中断
print("语句3")
输出:
语句1
语句3
# 演示break语法嵌套以及输出
for i in range(1,5):
print("语句1",end='')
for j in range(1,3):
print("语句2",end='')
break
print("语句3",end='')
print("语句4")
输出:
语句1语句2语句4
语句1语句2语句4
语句1语句2语句4
语句1语句2语句4
注意:
continue和break在嵌套循环中,只作用于所在的循环,无法对上层循环起作用
---------------------------------------------------------------------------------------------------------------转载注明出处