目录
一、循环语句
什么是循环?
循环就是重复性的做某件事情
如果让你重复打印100遍“好好学习,天天向上”要如何实现呢?
这就需要用到循环语句来实现了
二、while循环
2.1 基本循环
基本格式:
定义初始变量
while 条件:
循环体
改变变量
eg:用 while 循环 实现打印出100遍“好好学习,天天向上”
i = 1 # 定义一个初始值,记录循环的次数,i=1表示从第一次开始
while i <= 100:
print("好好学习,天天向上")
i += 1 # 每执行一次i的值就加1,i += 1 等效于 i = i+1
# 注意:如果没有改变变量,条件一直满足,就会一直循环下去,一直执行
2.2 死循环
基本格式:
while True:
循环体
eg:
while True: # 条件只写True,说明一直为真,就会一直执行,从而形成一个死循环
print("永远18岁")
# 只要条件不是False或0,其他单独存在的值也会是死循环
while False: # 条件只写False,说明一直为假,不会执行
print("永远18岁")
2.3 while 循环的应用
计算1 + 2 + 3 +... + 100 的和
i = 1 # 定义一个初始值,从1开始计算,记录循环次数
s = 0 # 定义一个变量保存计算结果,最开始计算结果为0,没有相加
while i <= 100:
s += i # 每次循环的计算结果和i进行相加
i += 1 # 每循环一次,i的值加1
# print("计算结果是:",s) # 在循环内,循环输出计算结果
print("计算结果:",s)
# 输出结果:[计算结果: 5050]
2.4 while 循环嵌套
含义:就是 while 里面有 while
基本格式:
while 条件 1:
循环体 1
while 条件 2:
循环体 2
改变变量 2
改变变量 1
注意:缩进决定层级,严格控制缩进,最好自动缩进
eg:
i = 1 # 定义一个变量记录外循环的次数
while i <= 3: # 外循环
print(f"这是第{i}次外循环") # f格式化输出
j = 1 # 定义一个变量记录内循环的次数
while j <= 2: # 内循环
print(f"内循环{j}次")
j += 1
i += 1
# 输出内容:
# 这是第1次外循环
# 内循环1次
# 内循环2次
# 这是第2次外循环
# 内循环1次
# 内循环2次
# 这是第3次外循环
# 内循环1次
# 内循环2次
三、for 循环(迭代循环)
作用:可以完成循环的功能,依次取出对象中的元素
基本格式:
for 临时变量 in 可迭代对象:
循环体
注意:冒号和缩进
3.1 基本for循环
eg:
str = "hello" # 定义一个字符串
# 可迭代对象就是要去遍历取值的整体,现在只需要记住字符串就是可迭代对象
for i in str: # i是临时变量,可以随便写,i是常规写法
print(i)
# 输出结果:
# h
# e
# l
# l
# o
3.2 计数器range()
作用:用来记录循环次数,相当于一个计时器
range(start, stop, step)
注意:
1、包前不包后:包含开始位置的数字,不包含结束位置的数字
2、range()里面只写一个数,这个数就是循环的次数,默认从0开始
3、range()里面写两个数,前面数字代表开始的位置,后面的数字代表结束的位置,step默认为1
eg:
for i in range(1,6):
# 从1开始,到6结束,默认step=1,遵循包前不包后规则,左闭右开[),如:[1,6) 1<=x<6
print (i)
# 输出结果:
# 1
# 2
# 3
# 4
# 5
for i in range(3):
# 从0开始,到3结束,默认start=0,step=1遵循包前不包后规则,左闭右开[),如:[1,6) 1<=x<6
print (i)
# 输出结果:
# 0
# 1
# 2
小练习:怎样利用 for 循环去计算 1 + 2 + 3 ... +100 的值? (先自己尝试一下,文末有参考)
四、break 和 continue
break 和 continue 都是在循环中使用的关键字,放到循环外会报错
i = 1
if i <= 5:
print("我在吃苹果")
break
# 报错,break和continue 只能放在循环内
上述例子中break
语句被错误地放置在了一个 if
语句内部,但不在任何循环结构中
在 Python 中,break
语句只能用在循环(如 for
或 while
循环)中,用于提前终止循环。由于代码中没有循环,因此使用 break
会导致语法错误。
break: 中途退出,结束循环
continue:结束当前循环,进入下一循环
for i in range(4):
if i == 2:
break # i=2 时结束当前所在循环
print(i)
# 输出结果为:
0
1
for i in range(4):
if i == 2:
continue # 跳过2,结束了在2时的循环,继续执行下一次循环
print(i)
# 输出结果为:
0
1
3
4.1 break
作用:某一条件满足时,退出循环
eg:
i = 1
while i <= 5:
print(f"小明在吃第{i}个苹果")
if i == 3:
print("吃饱了,吃不下了")
break # 结束break所在的循环
i += 1
# 输出结果:
小明在吃第1个苹果
小明在吃第2个苹果
小明在吃第3个苹果
吃饱了,吃不下了
4.2 continue
作用:退出本次循环,下一次循环继续执行
i = 1
while i <= 3:
print(f"小明在吃第{i}个苹果")
if i == 2:
print(f"吃到了一条大虫子,第{i}个苹果不吃了")
i += 1
continue
i += 1
# 输出结果:
# 小明在吃第1个苹果
# 小明在吃第2个苹果
# 吃到了一条大虫子,第2个苹果不吃了
# 小明在吃第3个苹果
附 3.2 中小练习参考:
# for循环小练习参考
s = 0 # 定义一个变量来保存计算结果
for i in range(1,101): # 包前不包后,不包含101这个数,从1-100
s += i # 每循环一次计算结果与i进行相加
print("计算结果:",s)
# 输出结果:5050