while 循环 和 for 循环的区别:
for 循环语句:
for 循环格式:
代码展示:
# 定义字符串
name = "新年快乐"
# for循环处理字符串
for x in name:
# 将 name 的内容,挨个取出赋予 x 临时变量
# 在循环体中对 x 进行处理
print(x)
for 循环注意点:
总结“:
小练习“
"""
数一数有几个a
定义字符串变量 name 内容为:"happy new year"
通过 for 循环,遍历字符串,统计有几个字母a
"""
name = "happy new year"
count = 0
for name1 in name:
if name1 == "a":
count += 1
print(f"字符串{name}中共有{count}个a")
range 语句:
range 语句语法:
- range(num):
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)为:【0,1,2,3,4】
- range(num1,num2):
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
如range(5,10)为:【5,6,7,8,9】
- range(num1,num2,step):
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5,10,2)为:【5,7,9】
代码展示:
# for 循环 从0 到 10(不含10)
print("语法一:")
for num in range(10):
print(num)
# for 循环 从5 到 10(不含10)
print("语法2:")
for num in range(5, 10):
print(num)
# for 循环 从5 到 10 (步长为3,不含10)
print("语句3:")
for num in range(5, 10, 3):
print(num)
总结:
小练习:
"""
有几个偶数
定义一个数字变量num,内容随意
并使用range()语句, 获取从1到num的序列,并使用 for 循环 遍历它
在遍历过程中,统计有多少偶数出现
"""
num = 10086
count = 0
for x in range(1, 10086):
if x % 2 == 0:
count += 1
print(f"从1到{num}中的偶数个数为:{count}")
for 循环的变量作用域:
思考:
for i in range(5):
print(i)
print(i)
此时的第三行的print(i)能否访问到变量i?
事实上是可以的 ,但是从规范上来是不可以的;
因此我们在写代码时,应该在for循环之前将临时变量定义出来:
i = 0
for i in range(5):
print(i)
print(i)
总结“
for 循环的嵌套调用:
代码展示:
i = 1
for i in range(1, 11):
print(f"今天是敲代码的第{i}天,坚持!")
for j in range(1, 5):
print(f"今天敲了{j}行代码。")
print(f"代码敲完了,第{i}天的代码之旅结束。")
print(f"第{i}天,代码崩了!")
总结:
小练习:
"""
使用 for 循环 打印 九九乘法表
"""
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j} * {i} = {i * j}\t", end='')
print()
循环的中断(continue, break):
引言:
无论是 while 循环 还是 for 循环 我们在编写完代码以后,程序运行的时候,是无法自行进行中断的,就比如:
for i in range(1,10):
print(i)
我们只能等它循环9次完毕;
为了能够提前结束,我们可以使用 continue 或者 break:
continue 是跳过本次循环;
break 是结束循环;
"""
continue break
"""
for i in range(1, 10):
if i == 5:
break;
for i in range(1, 10):
if i == 5:
continue
综合案例:
"""
发工资
某公司,账户余额1w元,给20名员工发工资。
· 员工编号从1到20,从编号1开始,一次领取工资,每人可领取1000元
· 领工资时,财务判断员工的绩效分(1--10)(随机生成),如果低于5,不发工资,换下一位
· 如果工资发完了,结束发工资。
"""
# 公司账户余额
total_money = 10000
# 员工编号
for id_num in range(1, 21):
score = random.randint(1, 10)
if score < 5:
print(f"员工{id_num}绩效小于5分,不发工资,下一位。")
continue
else:
print(f"向员工{id_num}发放工资1000元。")
total_money -= 1000
if total_money == 0 or id_num == 20:
break
print(f"工资发放完毕,账户余额{total_money}元。")