每个人的生活和工作都充满了循环,很多时候,循环意味着重复和枯燥。
比如你要手动输入200个员工的个人信息,比如她要一遍一遍地给不认真的人费劲口舌解释同样的事情,又比如他一成不变、如同一潭死水般的生活。
一成不变的生活终归需要你自己去打破循环,但工作的事,就大可让计算机帮一帮我们了。
与人类不同,计算机不怕苦也不怕累,无聊的事情可以重复上千遍,只要能追寻到你想要的答案。
这恰恰就是编程解放人类的地方。
比如你需要下载很多很多张图片,本来你是要手动操作的,而计算机通过【循环】,就可以依照某些规则,帮你一张一张地下载图片,你在一旁歇着就好。
计算机干重复性的工作比你拿手。
为什么计算机就特别擅长做重复性工作呢?
注意,是“超擅长、速度超快”,而不只是“能干活、不抱怨”。
究其原理,其实是因为代码中的【循环语句】,让计算机能够重复性地、自动地执行指令。
要实现“重复、自动地执行代码”,有两种循环语句可供我们选择使用:一种是for…in…循环语句,另一种是while循环语句。
0.for…in…循环语句
0.0打印列表中的元素:
再拿我最爱的粉墨来举个例子:
BlackPink = ['Jisoo','Jennie','Rose','Lisa']
for i in BlackPink:
print(i+'我爱你!')
终端结果:
看得我老脸一红哈哈哈~
代码中的【i】指的是【元素】(item),你可以把它当成是一个变量,在这个语句中,会按顺序一个个按照你的指示打印出来。
那么首先,我们需要给它取一个名字,也就是“变量名”。为什么用i?
因为英文是item,所以i是常用名嘛。但其实你给它取什么名字都行。
我把i改成love:
BlackPink = ['Jisoo','Jennie','Rose','Lisa']
for love in BlackPink:
print(love+'我爱你!')
终端结果也是一样的:
0.1打印字典中的元素:
第一种-打印键:
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}
for i in dict:
print(i)
#终端打印结果:
#日本
#英国
#法国
我们用print(i)把元素i打印了出来,发现i会逐个接待字典中的每一个【键】。
第二种-打印值:
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}
for i in dict:
print(dict[i])
#终端打印结果:
#东京
#伦敦
#巴黎
0.2range()函数
for i in range (3):
print(i)
#运行结果:
#0
#1
#2
运行后,我们看到了整数0,1,2
使用range(x)函数,就可以生成一个从0到x-1的整数序列。
for i in range(3,7):
print(i)
#运行结果:
#3
#4
#5
#6
使用range(a,b) 函数,可以生成了一个【取头不取尾】的整数序列。
for i in range(3):
print('我怎么这么好看')
#终端结果:
#我怎么这么好看
#我怎么这么好看
#我怎么这么好看
像这样,有了range()函数之后,当你想把一段代码固定重复n次时,就可以直接使用for i in range(n)解决问题。
还有一种用法:
for i in range(0,10,3):
print(i)
#终端:
#0
#3
#6
#9
这里range(0,10,3)的意思是:从0数到9(取头不取尾),步长为3。
1.while循环语句
举个例子:
a = 0
#先定义变量a,再赋值
while a<5:
#确定一个放行条件,只有当a小于5的时候,才能继续走流程
a = a+1
#满足条件时,走流程——a加上1
print(a)
#继续走流程,打印出来
终端:
while在英文中表示“当”,while后面跟的是一个条件。
当条件被满足时,就会循环执行while内部的代码(while子句)。
while循环本质:
只要事情符合条件,那就一遍又一遍的“按流程办事”。
就像在上面的例题中,只要a<5这个条件成立,就不停地办事(把a+1的结果打印出来),直到条件不成立,办事流程就停止。
m = ''
# 注:这个''代表空字符串
while m != '有':
# != 代表不等于
m = input('有没有请我吃饭,没有我就要饿死了。。')
print('有饭吃了!')
终端:
只有回答了‘有’,这个循环才会结束
再来写一段代码,作用如下:
让终端输入密码,密码是2020。
当输入密码错误的时候,会提示“请尝试输入密码:”。
直到密码输入正确,就会提示“欢迎您”。
password = ''
# 变量password用来保存输入的密码
while password!='2020':
password=input('请输入密码')
print('maria,欢迎您')
终端: