循环
程序开发中(写代码),有三大流程(三大结构):
1.顺序,代码从上到下,全部执行
2.分支,判断语句,代码有选择性的执行
3.循环,重复执行某一部分的代码
循环的作用就是让指定的代码重复的执行
语法:
1.设置循环的初始条件
2.书写循环的判断条件
while 判断条件:
#3.需要重复执行的代码
#4.改变循环的初始条件(计数器)
# 实例:打印100遍"媳妇儿,我错了"
# i = 1
# while i <= 100:
# print(i,"媳妇儿,我错了")
# i += 1
死循环和无限循环
死循环:一般是由写代码的人不小心造成的BUG,代码一致不停的运行下去
无限循环:写代码的人故意无限制的去执行,代码一致不停的运行下去
无限循环的使用场景:在书写循环的时候,不确定循环要执行多少次
无限循环的使用一般会在循环中添加一个if循环,当if条件成立,使用关键字break来终止循环
语法结构:
while True:
# 可以在if的上面
重复执行的代码
if 判断条件:
# 关键字的作用就是终止循环,当代码执行遇到break 这个循环就不再执行了
break
#可以在if的下面
重复执行的代码
书写循环的技巧:
确定这行代码的执行几次,如果执行多次,就妨碍循环的缩进中,如果只执行一次,就不要放在循环的缩进中
- 实例:出拳
import random
while True:
# 1.石头=1,剪刀=2,布=3
player = int(input('请出拳石头(1)/剪刀(2)/布(3)/退出(0)'))
if player == 0:
# 代码遇到break,终止循环
break
# 2 电脑随机出拳
computer = random.randint(1,3)
# 3 判断输赢
if (player ==1 and computer ==2) or (player==2 and computer==1) or (player==3 and computer==1):
print("恭喜你获得胜利")
elif player==computer:
print("平局")
else:
print("输了,不要放弃,再来一局")
- 实例:循环求1-100之间的数字循环
i = 1
total =0
while i <= 100:
total+=i
i +=1
print(total)
for 循环
for 循环也可以让指定的代码重复执行(循环)
for 循环可以遍历容器中的数据(
遍历:从容器中把数据一个一个取出
容器:可以简单理解为盒子,盒子中可以存放很多的数据(字符串 str,列表 list ,元组 tuple,字典dict
)
for 循环 也可以称之为for遍历
语法:
for 变量名 in 容器:
重复执行的代码
# 1.for 和 in 都是关键字
# 2.容器中有多少个数据,循环会执行多少次,(0个数据,执行0次,...)
# 3.每次循环,会将容器中数据取出一个保存到in 关键字前边的变量中
实例:遍历字符串
# 定义字符串
my_str="hello"
# 遍历字符串
for i in my_str:
print(i)
for 做指定次数的循环
for 变量 in range(n):
重复执行的代码
# 1.range() 是Python 中的函数,作用使用可以生成[0,n)之间的整数,不包含n的,一个有N个数字,所以这个循环N次
# 2.想让for 循环循环多少次,N就写几
# 3. 变量的值 也是每次循环从[0,n)取出一个值,第一次取得是0,最后一次取得是n-1
for i in range(5):
print(i)
range() 变形
for 做指定次数的循环
for 变量 in range(a,b)
重复的代码
1.range(a,b)作用生成[a,b)之前的整数数字,不包含b
‘’’
需求:使用for 循环获取5到10之间的数字
for m in range(5,11):
print(m)
break 和continue
break 和continue 是python 中的两个关键字,只能在循环中使用
break:终止循环,即代码执行遇到break,循环不再执行,立即结束
continue:跳过本次循环,即代码执行遇到break,本次循环剩下的代码不再执行,继续下一次循环
#1.获取你输入的字符串
result = input('请输入一个字符串:')
#2.遍历打印这个字符串
for i in result:
#3.在遍历的时候,如果这个是e,不打印
if i =='e':
# 本次循环后续的代码不执行,执行下一次循环
continue
print(i)
print('-'*30)
# 或
for i in result:
#3.在遍历的时候,如果这个是e,不打印
if i !='e':
# 本次循环后续的代码不执行,执行下一次循环
print(i)