目录
一、while循环
while 条件表达式:
满足条件时执行的代码
...
注意事项
- 判断条件的结果必须时布尔类型,非True即False
- 循环条件之后有一个冒号:
- 归属于while语句的代码,前边有4个空格缩进
- 规划好循环终止条件,否则无限循环
# while循环
i = 0
while i < 5:
print(f"赵大拿有{i}个头")
i += 1 # 终止条件
# # 赵大拿一共有几个头
result = 0
j = 0
while j <= 5:
result += j
j += 1
print(f"赵大拿一共有{result}个头")
二、while循环的嵌套
i = 1
while i <= 3:
print(f"这是赵大拿的第{i}个头")
j = 1
while j <= 5:
print(f"这是赵大拿第{i}个头上的第{j}根头发")
j += 1 # 控制条件的累加,确保循环不是无限循环
i += 1 # 控制条件的累加,确保循环不是无限循环
注意缩进,相互之间的层次关系,最后注意终止条件
三、for循环
for 临时定义的变量 in 待处理的数据集:
满足条件时执行的代码
注意事项:无法定义循环条件,只能被动取出数据处
for 循环和 while 循环的区别:
- while 循环条件是自定义的,自行控制循环条件
- for 循环是一种"轮询"淘汰机制,是对一批内容进行逐个处理
# for 循环无法定义循环条件,
# 格式:for 变量 in 被处理的数据
name = "行走的赵哈哈"
for x in name:
print(x)
# 输出内容
行
走
的
赵
哈
哈
name = "行走的赵哈哈"
# 定义一个变量,用来统计有多少个“哈”
ha_num = 0
# for 循环
# for 临时变量 in 被统计的数据
for ha in name:
if ha == "哈" :
ha_num += 1
print(f"被统计的数据有{ha_num}个“哈”")
四、分别用while循环和for循环写九九乘法表
print() #切换行
,end="" #不换行
i = 1
while i <=9:
j = 1
while j <=i:
print(f"{j}*{i}={i * j}",end="\t")
j += 1
# continue
i +=1
print()
for i in range(1,10): # i行
for j in range(1,1+i):
print(f"{j}*{i}={i * j}",end="\t")
print()
五、range语句
- 功能:获得一个数字序列
- 语法格式:
语法 | 说明 |
range(num) | 从0开始,到num结束,不含num本身 |
range(num1,num2) | 从num1开始,到num2结束,不含num2本身 |
range(num1,num2,step) | 从num1开始,到num2结束,不含num2本身,步长为step |
range语句用法较广泛,在学习python初期,range语句多与for循环搭配使用。
六、random语句
import random
num = random.randint(a,b)
通过random语句,可以在a ,b 之间随机取一个数,包含a,b。
# 随机取数
import random
num = random.randint(1,20)
print(num)
七、continue 和 break
- continue
中断所在循环的当次执行,直接进入下一次
- break
直接结束所在的循环
- 注意事项
continue和break在for和while当中的作用是一致的,在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用。
# continue :临时中断,中断本次
# 中断《所在循环》的《当次》循环,直接进入下一次循环
# break :结束所在循环
# 结束《所在的》循环。跳出所在的循环,直接结束。
for i in range(3):
print("语句111")
continue
print("语句211")
# 以上代码,中断了语句211
# 输出内容为
语句111
语句111
语句111
for i in range(3):
print("语句1")
for j in range(3):
print("语句2")
continue
print("语句3")
print("语句4")
# 中断了语句3,i 一次循环的结果为语句1、语句2、语句2、语句2、语句4,共三次
语句1
语句2
语句2
语句2
语句4
语句1
语句2
语句2
语句2
语句4
语句1
语句2
语句2
语句2
语句4
for i in range(3):
print("语句5")
for j in range(3):
print("语句6")
break
print("语句7")
print("语句8")
# 结束了 j 的循环
语句5
语句6
语句8
语句5
语句6
语句8
语句5
语句6
语句8
八、综合案例
不使用continue
# 总共4w
money = 40000
# 30个人里给5个人发奖金,一人发8000
for people in range(1,30):
# 随机生成绩效分
import random
num = random.randint(1,10)
if num >= 5:
if money >= 8000:
money -= 8000
print(f"员工{people}的绩效分为{num},超过5,发放奖金8000,余额:{money}元")
else:
print(f"奖金发放完毕")
break
else:
print(f"员工{people}的绩效分为{num},未超过5,不发放奖金")
使用continue
# 总共4w
money = 40000
# 30个人里给5个人发奖金,一人发8000
for people in range(1,30):
# 随机生成绩效分
import random
num = random.randint(1,10)
if num < 5:
print(f"员工{people}的绩效分为{num},未超过5,不发放奖金")
continue
if money >= 8000:
money -= 8000
print(f"员工{people}的绩效分为{num},超过5,发放奖金8000,余额:{money}元")
else:
print(f"奖金发放完毕")
break
九、说明:while 和 if 的选用
本人在编写过程中遇到一些困惑:while 和 if 的选用问题。当然自己也清楚它们的作用是截然不同的,但就是容易混淆。
在进一步学习之后,在此给它们区分一下:
while 条件 :
代码串
终止条件(一般是一个比较运算)
if 条件 :
代码串1
else:
代码串2
总结: while 执行的代码穿只有一个,需要比较运算进行循环终止
if 必须和else搭配使用,必然有一个以上的执行代码串
以上仅是自己的一点学习记录及心得体会,希望对你有帮助~