目录
循环语句是编程中一种重要的控制结构,用于重复执行一段代码块。在 Python 中,主要有两种类型的循环语句:while 循环和 for 循环。
一、while 循环
1、while 循环的格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
-
while 和 if 的用法基本类似,区别在于:
if 条件成立,则执行一次;
while 条件成立,则重复执行,直到条件不成立为止。 -
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成,可以提高代码的重复使用率。
-
while 循环,只要条件满足,就不断循环,条件不满足时退出循环。
i = 0
while i < 3:
print(i) # 如果不改变变量,会一直循环
# 1.定义初始值
i = 1
# 2.使用 while 判断条件
while i < 5:
# 3.要重复执行的代码
print("当前是第%d次执行循环" % (i + 1))
print("i=%d" % i)
# 4.改变变量值
i = i + 1
2、while 循环应用
2.1、计算1~100的累积和(包含1和100)
# 记录次数的变量
i = 1
# 定义最终结果的变量
sum = 0
# 循环条件为 i <= 100
while i <= 100:
sum = sum + i
i += 1
# 输出结果
print("1~100的累积和为:%d" % sum) # 5050
2.2、计算1~100之间偶数的累积和(包含1和100)
# 记录次数的变量
i = 1
# 定义最终结果的变量
sum = 0
# 循环条件为 i <= 100
while i <= 100:
# % 取余,判断偶数
if i % 2 == 0:
sum = sum + i
i += 1
# 输出结果
print("1~100之间偶数的累积和为:%d" % sum) # 2550
3、while True 死循环
如忘记在循环内部修改循环的判断条件,导致循环持续执行,程序会无法终止。
# 死循环
while True:
print('啊哈哈哈')
4、while 循环嵌套
while 循环嵌套就是:while 里面还有 while
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
5、while 嵌套应用
九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
# end="" 表示向控制台输出内容结束之后,不会换行
print('%d*%d=%d' % (j, i, i*j), end=' ')
j += 1
# 单纯的换行
print()
i += 1
二、for 循环
1、for 循环的格式
for 临时变量 in 可迭代对象:
循环满足条件时执行的代码
- 像 while 循环一样,for 循环也可以完成循环的功能。
- for 循环会依次取出可迭代对象中的元素。
- 在 Python 中 for 循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
- Python 中的可迭代对象有:列表、元组、字典、字符串,常结合 for 循环使用。
a = "Hello"
for i in a:
print(i)
2、range() 函数
在 Python 中 range() 函数是一个内建函数,左开右闭,不包括 stop 的值。
range 函数原型:range(start, end, step)
参数含义:
start:计数的开始位置,默认是从0开始。
end: 计数的结束位置。
step:步长,每次跳跃的间距,不填默认为1。
for i in range(5):
print(i)
效果等同于
i = 0
while i < 5:
print(i)
i += 1
3、for 循环应用
3.1、计算1~100的累积和(包含1和100)
sum = 0
for i in range(1, 101):
sum = sum + i
print('1~100的累积和为:', sum) # 5050
3.2、计算1~100之间偶数的累积和(包含1和100)
sum = 0
for i in range(1, 101):
if i % 2 == 0:
sum = sum + i
print('1~100之间偶数的累积和为:', sum) # 2550
4、for 循环嵌套
for 循环嵌套就是:for 循环里面还有for 循环
for 临时变量1 in 可迭代对象1:
循环1满足条件时执行的代码1
for 临时变量2 in 可迭代对象2:
循环2满足条件时执行的代码1
循环2满足条件时执行的代码2
循环1满足条件时执行的代码2
5、for 嵌套应用
九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print('%d*%d=%d' % (j, i, i*j), end=" ")
print("")
print("")
三、break 和 continue
break 和 continue 是专门在循环中使用的关键字。
1、break
- break 的作用:立刻结束 break 所在的循环。
- break 可以在没有终止条件的情况下结束循环。
- break 某一条件满足时,退出循环,不再执行后续重复的代码,只针对当前所在循环有效。
1.1、while 循环
num = 1
while num <= 5:
print(num)
if num > 2:
break
num += 1
# 输出结果:
# 1
# 2
# 3
1.2、for 循环
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 2:
print(num)
break
print(num)
# 输出结果:
# 1
# 2
2、continue
- continue 的作用:用来结束本次循环,紧接着执行下一次的循环。
- continue 某一条件满足时,不执行后续重复的代码。
- 在循环过程中,如果某一个条件满足后,不希望执行循环代码,但是又不希望退出循环,可以使用 continue。
2.1、while 循环
num = 1
while num <= 5:
if num % 2 == 0:
num += 1
continue
print(num)
num += 1
# 输出结果:
# 1
# 3
# 5
2.2、for 循环
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
continue
print(num)
# 输出结果:
# 1
# 2
# 4
# 5
四、循环应用
1、while 循环应用
猜数字游戏
1、系统随机生成数字
2、用户5次猜数机会
3、检测猜数大小
4、猜对退出循环
import random
num = random.randint(1, 100)
print(num)
i = 1
while i <= 5:
ply = int(input('猜数字:'))
if ply > num:
print('太大了,还有%d次机会' % (5-i))
elif ply < num:
print('太小了,还有%d次机会' % (5-i))
else:
print('猜对了')
break
i += 1
2、for 循环应用
用户登录,用户名和密码输入正确,进入系统;错误则继续输入,共有3次机会。
t = 0
for i in range(1, 4):
user = input('用户名:')
pwd = input('密码:')
t += 1
if user == 'zs':
print('用户名输入正确')
if pwd == '123':
print('密码输入正确,成功登陆系统')
break
else:
print('登陆失败,密码错误')
print('你还有%d次机会' % (3-t))
else:
print('登陆失败,用户不存在')
print('你还有%d次机会' % (3-t))
else:
print('机会用完了')
记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~