【一篇搞定】python循环语句(for循环和while循环)

一 循环语句

1 概念

在生活中,循环指的是一个现象周期性或者重复性的出现
在这里插入图片描述

在编程中,在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环,这段被重复执行的代码被称为循环体.
Python中提供的循环语句有:while语句和for语句

在这里插入图片描述

2 for 循环

2.1 语法

for 变量名 in 容器:
	循环体

功能:for循环主要用于遍历任何容器,比如列表,字符串,元组,字典和集合等
遍历:指的是依次访问序列中的每一个元素,获取每个元素值
说明:按照顺序获取容器中的每个数据,赋值给变量名,再执行循环体,如此循环往复,直到取完容器中所有的数据为止

"""
注意:
 1.for循环主要用于遍历任何容器,比如列表,字符串,元组,字典和集合等
 2.按照顺序获取序列中的每个元素,赋值给变量名,再执行循环体,如此循环往复,直到取完序列中所有的元素为止
 3.for循环的执行次数由:容器中数据的个数  或者  容器的长度
"""
"""
注意:
 1.for循环主要用于遍历任何容器,比如列表,字符串,元组,字典和集合等
 2.按照顺序获取容器中的每个元素,赋值给变量名,再执行循环体,如此循环往复,直到取完容器中所有的元素为止
 3.for循环的执行次数由:容器中数据的个数  或者  容器的长度  决定
 4.len(x)可以求容器的长度,用于列表,字符串,元组,字典和集合
"""
# 1.基本语法
# a.字符串
for ch in 'nicegood':
	print(ch)

# b.列表
for num in [34,6,7,8]:
	print(num + 5)

# c.元组
for num in (34,6,7,8):
	print(num + 5)

# 2.需求:打印100遍hello world
for _ in '0987654321':
	print('hello world')

for _ in [45,7,89,9,0,45,10,5,7,8]:
	print('hello world~~~~~~')

# 注意:如果for循环中定义的变量在循环体中未被使用,则此变量可以直接使用_代替
# 说明:如果已知容器,则可以直接遍历,但是,如果需要用for循环控制次数,一般使用range()

# 3.for+range()
# 需求:打印100遍hello world
for n1 in range(100):
	print('hello world')  # 0~99

for n1 in range(1,100):
	print(n1)  # 1~99

for n1 in range(1,100,2):
	print(n1)  # 1~99之间的所有奇数

for n1 in range(0,100,2):
	print(n1)  # 0~99之间的所有偶数

"""
常用使用场景:
 如果需求中不确定循环的次数,则常用while的死循环结合break使用
 如果确定循环的次数,则常用for循环
"""

3 while 循环

3.1 语法

while 条件:
	循环体

说明:当程序在从上往下执行的过程中,遇到while语句时,首先判断条件的值,如果表达式的值为假,则跳过整个while语句,程序继续向下执行;如果表达式的值为真,则执行对应的语句;执行完语句,再去计算表达式的值,如果表达式的值为假,则跳过整个while语句,程序继续向下执行;如果表达式的值为真,则执行对应的语句。。。如此循环往复,直到表达式的值为假,整个循环才停止

"""
总结:
 a.while中的条件和if中的条件的使用完全相同,都可以是常量,变量或表达式
 b.在条件成立的前提下,if中的语句只会执行一次,但是,while中的语句【循环体】会执行若干次
 c.在大多数情况下,书写循环需要考虑的核心问题:控制循环的次数
   让循环可以在合适的时机停止下来,否则形成死循环
"""
"""
总结:
 a.while中的条件和if中的条件的使用完全相同,都可以是常量,变量或表达式
 b.在条件成立的前提下,if中的语句只会执行一次,但是,while中的语句【循环体】会执行若干次
 c.在大多数情况下,书写循环需要考虑的核心问题:控制循环的次数
   让循环可以在合适的时机停止下来,否则形成死循环
"""

# 1.while语句和if语句的区别
"""
while 条件:
	循环体

if 条件:
	语句
"""

# 2.while循环的基本语法
# a.需求:打印10遍hello world
n = 0   # 初始表达式,如果没有指明区间,则初始值习惯设置为0,方便计算
while n < 10:  # 等价于n <= 9,条件表达式
	print('hello world~~~~~',n)  # 循环体
	n += 1   # 循环之后的操作表达式

# b.
m = 9
while m >= 0:
	print('hello world~~~~~')
	m -= 1

# c.死循环
# 常用使用场景:如果需求中不确定循环的次数,则常用while的死循环结合break使用
"""
while 真:
 循环体

注意:此处表示真的条件可以是任意数据类型的非空数据,但是常用True
"""
# 常用
while True:
	print('11111')

4 嵌套循环

4.1 语法

while 表达式1while 表达式2:
		语句

for 变量1 in 容器1:
	for 变量2 in  容器2:
		语句
"""
注意:
 a.在代码执行的过程中,一旦遇到循环语句,都要把循环语句执行完毕之后才能继续执行后面的代码
 b.在嵌套循环中,如果外层循环进入,内层循环需要全部执行完毕,才能去执行外层循环的下一次循环
"""
# 应用:打印九九乘法表
"""
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
......

1*9=9 2*9=18 3*9=27  ......     7*9=63 8*9=72 9*9=81

规律:
 a.行数的取值范围:1~9   
 b.列数的取值范围:1~当前行数
 c.表达式的格式:列*行=乘积
"""
# 外层循环:控制行
# while循环实现
row = 1
while row < 10:
 # 内层循环:控制列
 col = 1
 while col <= row:
     print(f"{col}*{row}={row * col}",end=' ')
     col += 1
 row += 1
 # 换行
 print()

# for循环实现
for row in range(1,10):
 for col in range(1,row + 1):
     print(f"{col}*{row}={row * col}", end=' ')
 print()

5 break和continue

5.1 区别

break:打断,表示结束当前循环【break书写在哪个循环中,就结束哪个循环,就近原则】
continue:继续,表示结束当前循环的本次循环,继续下一次循环

"""
总结:
 a.break是一个关键字,但是可以单独作为一条语句使用
 b.如果break使用在单层循环【while和for】中,在满足条件的情况下,表示结束循环
 c.break应用在嵌套循环中,结束的是当前循环【break书写在哪个循环中,就结束哪个循环】
 注意:break和continue都只对循环起作用
"""
# break
n = 0
while n < 10:
	if n == 3:
    	break
    print(n)  # 0 1 2
 	n += 1

# continue
n = 0
while n < 10:
	if n == 3:
    	n += 1
        continue   # 0 1 2 4 5 6 7 8 9
    print(n)
    n += 1
猜数字游戏
"""
从控制台输入一个数,和程序产生的随机数进行比较,范围1~100
根据比较结果
 输入的数 > 随机数,提示:你猜大了,往小了猜
 输入的数 < 随机数,提示:你猜小了,往大了猜
 输入的数 == 随机数,提示:恭喜你,猜对了
如果猜中,则表示游戏结束,意味着循环结束
"""
import  random
random_num = random.randint(1,100)
print(random_num)
guess_num = 0
while True:
	guess_num  += 1
	input_num = int(input("请输入一个1~100之间的数:"))
	if input_num > random_num:
    	print("你猜大了,往小了猜")
	elif input_num < random_num:
    	print("你猜小了,往大了猜")
	else:
    	print("恭喜你,猜对了")
    	break
print(f"你总共猜了{guess_num}次")
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值