for 循环
格式:
for 变量名 in 可迭代对象:
执行语句...
例:统计公司发烧人数,及发烧情况
temperature_dict = {"110":36.1, "111":36.6, "112":36.9, "113":37.0, "114":39.8, "115":37.8}
# 用字典记录员工测温情况
temp_high_num = 0
# 设置一个变量记录总人数
for staff_id, temperature in temperature_dict.items():
# 用 staff_id 记录员工工号,用 temperature 记录员工温度
if temperature > 37.5:
temp_high_num = temp_high_num + 1
print("工号为" + staff_id + "的员工发烧到" + str(temperature)+ "度")
# 循环检测每名员工
print("共有" + str(temp_high_num) + "人发烧了")
输出:
工号为114的员工发烧到39.8度
工号为115的员工发烧到37.8度
共有2人发烧了
for循环 和 range 函数的结合使用
range() 函数:生成一系列数字
range | ( | 1 | , | 6 | ) |
含义 | 起始值 | 结束值 |
例:
for i in range(1, 6):
print(i)
输出:
1
2
3
4
5
输出不包括结束值
range | ( | 5 | , | 10 | , | 2 | ) |
含义 | 起始值 | 结束值 | 步长 |
range | ( | 6 | ) |
默认起始值为0,结束值为该值 |
list() 函数:可以将任何可迭代数据转换为列表类型
详细解释:Python的list()函数 - 知乎 (zhihu.com)
使用list
函数和range
函数创建数字列表
s_list = list(range(1, 6))
print(s_list)
# 输出:[1, 2, 3, 4, 5]
for循环与continue语句
基本形式:
for iteration_var in sequence:
循环语句
if 判断语句1:
continue
当遍历序列时,如果判断语句1
为真,则执行continue
语句,跳出当前循环,直接进入下一次循环。 例如:
for i in range(5):
print(i)
if i == 3:
continue
print('i =' + str(i))
输出:
0
i =0
1
i =1
2
i =2
3
4
i =4
while 循环
格式:
while 条件A:
行动B
例:计算所给数字的平均值
print("这里是一个计算平均值的程序!")
total = 0 # 记录数字总和
count = 0 # 记录数字个数
user_input = input("请输入数字(最后一个数字输入后,请记得输入字母f结束输入):")
# 输入的第一个数字
while user_input != 'f':
count += 1
total += float(user_input)
# 确保第一个数字被统计进来了
user_input = input("请输入数字(最后一个数字输入后,请记得输入字母f结束输入):")
if count == 0:
print("未输入数字,程序结束运行")
else:
result = total / count
print("输入的所有数的平均值为" + str(result))
演示一:
这里是一个计算平均值的程序!
请输入数字(最后一个数字输入后,请记得输入字母f结束输入):f
未输入数字,程序结束运行
演示二:
这里是一个计算平均值的程序!
请输入数字(最后一个数字输入后,请记得输入字母f结束输入):3.7
请输入数字(最后一个数字输入后,请记得输入字母f结束输入):9.8
请输入数字(最后一个数字输入后,请记得输入字母f结束输入):f
输入的所有数的平均值为6.75
for 循环和 while 循环
for 循环:有明确循环对象或次数
while 循环:循环次数未知
例:计算 1 到 100 所有数的和
for 循环:
total = 0
for i in range(1, 101):
total += i
print(total)
# 输出5050
while 循环:
total = 0
i = 1
while i <= 100:
total += i
i += 1
print(total)
# 输出 5050
while循环与break语句
基本形式:
while 判断条件1:
循环语句
判断条件2:
break
当判断条件1
为true
时执行循环语句。若此时判断条件2
为true
,执行break
跳出while
循环,若判断条件2
一直为false
,则执行while
循环,一直到判断条件1
为false
。
循环嵌套
for循环嵌套
基本形式:
for iteration_var in sequence:
for iteration_var in sequence:
循环语句
例如:
for x in range(1, 3):
# x 可以取 1, 2
for y in range(0, x):
result = x + y
print(result)
print("y循环结束")
输出:
1
y循环结束
2
3
y循环结束
while循环嵌套
基本形式:
while 判断条件:
while 判断条件:
循环语句
例如:
x = 2
y = 0
while x < 5:
while y < x:
result = x + y
print('result = ' + str(result))
y += 1
x += 1
y = 0
print('循环完成一次')
输出:
result = 2
result = 3
循环完成一次
result = 3
result = 4
result = 5
循环完成一次
result = 4
result = 5
result = 6
result = 7
循环完成一次