for循环的基础语句
for循环采用一种“轮询”机制,本质上是遍历:序列类型
for循环的语法格式是:
#for 临时变量 in 待处理数据集(序列:字符串 列表 元组等):
# 循环满足条件是执行的代码
2. 注意点:
a. 无法定义循环条件,只能被动取出数据处理
b. 循环内的语句要有tab空格
示例:
'''
要求:定义字符串变量name,内容为:xiaoming
通过for循环,遍历此字符串,统计有多少个英文字母:'i'
输出示例:“xiaoming中共有:2个字母i”
提示:计数可在循环外定义一个整数类型变量来做累加计数
判断是否为字母i,可以通过if语句结合比较运算符来完成
'''
name = "xiaoming"
count = 0
for x in name:#将name中的内容,挨个取出并赋予x
if x == "i":
count += 1
print(f"{name}中共有:{count}个字母i")
range语句
功能:获得一个数字序列
语法格式:
'''
语法一:range(num) 从0开始,1为步长,不含num
语法二:range(num1,num2) num1开始,num2结束,不含num2
语法三:range(num1,num2,step) step为步长,不含num2
'''
range(5)
range(5,10)
range(5,10,2)
示例:
'''
要求:定义一个数字变量num
并使用range()语句,获取从1到num的序列,使用for循环遍历它
在遍历的过程中,统计有多少偶数出现
提示:序列可以使用:range(1,num)得到
偶数通过if来判断,判断数字余2是否为0即可
'''
count = 0
for x in range(1,100):
if x % 2 == 0:
count += 1
print(f"1到100(不包括100)范围内,有{count}个偶数")
for循环临时变量作用域
for循环中的临时变量,其作用域限定为循环内
这种限定:
属于编程规范的限定
不遵守能运行但不建议
如需访问临时变量,可以预先在循环外定义它
for循环的嵌套运用
for循环的嵌套语法:
注意:
需要注意缩进,嵌套for循环同样通过缩进确定层次关系
for循环和while循环可以相互嵌套使用
示例:用for循环打印九九乘法表
#利用for循环打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={j*i}",end='\t')
print()
continue和break
continue作用:中断所在循环的当次执行,并直接进入下一次
break作用:直接结束所在的循环
注意:
continue和break,在for和while循环中作用不变
在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
综合案例:发工资
示例:
'''
要求:1w元,20个员工发工资
员工编号从1到20,从编号1开始,一次领取工资,每人可领取1k
领工资时,财务判断员工的绩效分(1-10随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资
提示:使用循环对员工发放工资
continue用于跳过员工
break直接结束发工资
随机数可以用:
import random
num = random.randint(1,10)
'''
import random
sum = 10000
for i in range(1,21):
num = random.randint(1,10)
if sum<= 0:
print("钱不够了,先画饼")
break
if num<5:
if i<= 19:
print(f"员工{i},绩效分{num},低于5,不发工资,下一位")
continue
else:
print(f"员工{i},绩效分{num},低于5,不发工资")
continue
else:
print(f"向员工{i}发放工资1000元,账户余额还剩余{sum-1000}元")
sum -= 1000