循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中循环结构有for 循环和while 循环两种,同时while循环和for循环里面往往会嵌套分支结构。
for循环和while循环的主要区别在于:
for循环:在明确知道循环次数,一般我们会使用for循环。例如累加计算(计算1加到100)。和分支结构一样, 被for 循环控制的语句块也是通过缩进的方式来确定的。
例如:
# for循环实现1+2+3+4+...+99+100
# sum用来存储相加的和
sum = 0
for i in range(1,101):
sum += i
print(sum)
运行结果:?
while循环:通常实在我们不知道循环次数时使用(比如猜数字游戏,知道猜中循环才停止,当然也可以设置循环结束的条件,提前结束循环),循环控制的语句块也是通过缩进的方式来确定的。
例如:
# 导入随机生成模块
import random
# 随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1, 100)
while True:
your_answer = int(input("请输入你的答案:"))
if your_answer > answer:
print("你猜大了大")
elif your_answer < answer:
print("你猜小了")
else:
print("恭喜你,猜中了")
break
?运行结果:
上面的代码中使用while True 构造了一个条件恒成立的循环,也就意味着如果不做特殊处理,循环是不会结束的,这也就是常说的“死循环”。为了在用户猜中数字时能够退出循环结构,我们使用了break 关键字,它的作用是提前结束循环。需要注意的是,break 只能终止它所在的那个循环。除了break 之外,还有另一个关键字是continue ,它可以用来放弃本次循环后续的代码直接让循环进入下一轮循环。
同时一定情况下for循环和while循环可以相互转换的。
while也可以实现1加到100:
# while循环实现1+2+3+4+...+99+100
# sum用来存储相加的和
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print(sum)
结果如下:
for循环也可以实现猜数字游戏(这里设置可以猜十次,不管最后是否猜中,都结束循环):
# 导入随机生成模块
import random
# 随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1, 100)
for _ in range(10):
your_answer = int(input("请输入你的答案:"))
if your_answer > answer:
print("你猜大了大")
elif your_answer < answer:
print("你猜小了")
else:
print("恭喜你,猜中了")
break
结果如下:
?for循环里面可以嵌套for循环,while循环里面也可以嵌套while循环,for循环和while循环也可以相互嵌套,这里我们不做过多叙述。
大家学会了吗?欢迎在下面留言哦!
|