1.引言
在之前我们有讲过通过循环来比较大小,现在我们将进一步探讨循环的作用
2.计数器
loop_time = 0
print('before', loop_time)
for the_num in [10,40,13,4,73,19]:
loop_time = loop_time + 1
print(loop_time, the_num)
print('after', loop_time)
#before 0
#1 10
#2 40
#3 13
#4 4
#5 73
#6 19
#after 6
怎么样,很神奇吧,我们设定初始值loop_time(循环次数)为,每运行一次循环次数便会+1,10,加一,40,加一,13,加一,4,加一,73,加一,19,加一,总共是6次,这就是计数的方法
3.数字相加
如果我想运用计算机把好几个数字相加应该怎么办呢,比如作业中的算术题,一个月的开支,拿笔算吗,还是拿计算器一个一个捣呢,我之前有提到过,计算机就是用来帮助人类处理费时费力的重复性工作的,所以关于这种事还是交给程序来完成吧
count = 0
print('before', count)
for the_num in [10,40,13,4,73,19]:
count = count + the_num
print(count, the_num)
print('after', count)
# before 0
# 10 10
# 50 40
# 63 13
# 67 4
# 140 73
# 159 19
# after 159
通过对代码进行简单的修改,我们得出了一个可以计算数字总和的程序。在这个程序中,我们将加法中的 1
替换为 the_num
,每次循环都用 count
和 the_num
相加,完成了总和的计算。
好的,让我们增加一些难度,试着将计数加入进去,看一看一共经历了几步运算,首先请你自己试一试吧,你可以的
loop_time = 0
count = 0
print('before', loop_time, count)
for the_num in [10,40,13,4,73,19]:
count = count + the_num
loop_time = loop_time + 1
print(loop_time, count, the_num)
print('after', loop_time, count, count/loop_time)
# before 0 0
# 1 10 10
# 2 50 40
# 3 63 13
# 4 67 4
# 5 140 73
# 6 159 19
# after 6 159 26.5
我在这里还添加了平均数(count/loop_time)让代码有更多的可能性,你可以自己尝试一下用变量名的方法概括替代count/loop_time
4.过滤筛选
接下来让我们讨论一下如何筛去集合中一些不满足条件的值,我们用将循环结构来将集合过一遍
print('before')
for the_num in [10,40,13,4,73,19]:
if the_num > 20:
print('Larger number', the_num)
print('after')
# before
# Larger number 40
# Larger number 73
# after
例如这段代码,我们想要筛选出比20大的数字,就添加加条件语句,如果大于20,则输出后循环,如果不大于则直接循环,10大于20吗,不,循环,40大于20吗,是的,输出40,接着循环,13,不输出,4,不输出,73,输出,19,不输出,结束