1.循环介绍
循环,顾名思义,就是将指定代码进行循环执行。循环分为两种,一种是while循环,另一种是for循环。
举个例子,比如我们想要输出“循环”这两个字100遍,不用循环的情况下,只能这样写:
print("循环")
print("循环")
print("循环")
......(重复96遍)
print("循环")
但是,用上循环,我们就可以更加方便的输出:
for i in range(100):
print("循环")
好了,不瞎扯了,开始介绍第一个循环,while。
2.while循环
while循环,格式如下:
while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 ...(省略)...
直接看可能没有那么好懂,那就先上一个示例:
i = 0 # 先设定一个变量,用来检测循环次数
while i < 5: # 判断次数是否小于5次,因为基础值设定的是0,所以会重复执行5次
print("当前是第%d次执行循环" % (i + 1))
print("i=%d" % i)
i += 1 # 代表i + 1 = i,就是将指定变量加一并赋值回去
输出结果:
当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4
注意:再写循环的时候要注意判断条件,写条件不注意的情况下会导致死循环,程序无法正常终止,比如刚刚的代码,如果将while内的缩进代码中的 “ i += 1 ” 去掉的话,就会导致死循环,程序无法正常退出。
3.while循环应用
示例1:
计算从1加到100的和:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累加和为:%d" % sum)
输出结果:
1~100的累加和为:5050
示例2:
计算1~100之间偶数的和:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print("1~100的累加和为:%d" % sum)
输出结果:
1~100的累加和为:2550
上面两个分别计算了1-100内所有数和所有偶数的和,第二串代码因为加了一个判断语句,就可以分别出偶数并单独计算求和。
4.while嵌套
while嵌套格式:
while 条件1: 条件1满足时,做的事情1 条件1满足时,做的事情2 条件1满足时,做的事情3 ...(省略)... while 条件2: 条件2满足时,做的事情1 条件2满足时,做的事情2 条件2满足时,做的事情3 ...(省略)...
示例1:
要求:打印以下内容:
* * * * * * * * * * * * * * * * * * * * * * * * *
参考代码:
i = 1
while i <= 5:
j = 1
while j <= 5:
print("*", end=" ")
j += 1
print()
i += 1
分析:i和j两个变量分别计算两个while循环次数,因为j变量的赋值在外层while循环之内,所以循环一次就会重置,以让内层while可以在外层while循环每次循环都执行一次。
示例2:
要求:打印以下内容:
* * * * * * * * * * * * * * *
参考代码:
i = 1
while i <= 5:
j = 1
while j <= i:
print("*", end=" ")
j += 1
print()
i += 1
分析:此代码与刚刚代码差不多,但第二个while循环判断条件修改了,可以根据外层while循环次数修改循环输出 “ * ”号个数。
5.for循环
像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for 临时变量 in 列表或者字符串等可迭代对象: 循环满足条件时执行的代码
可迭代对象:它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问,有兴趣就上网搜搜看,本文不多加介绍。
示例1:
name = 'itheima' # 创建变量,并为其复制一个字符串
for x in name: # 遍历变量,也就是字符串
print(x) # 输出
输出结果:
i
t
h
e
i
m
a
代码中的name就是for遍历的对象,其中的x就是临时变量,遍历会遍历对象每一个元素(字符串解释每一个字母),并赋值给指定临时变量。
示例2:
name = "hello"
for x in name:
print(x)
if x == 'l':
print("Hello world!")
输出结果:
h
e
l
Hello world!
l
Hello world!
o
分析:遍历name变量每一个元素,并判断其是否为 “ l ” 字母,是的话,输出 “ Hello world ”。
示例3(range):
# range 在python就业班中进行讲解会牵扯到迭代器的知识,
# 作为刚开始学习python的我们,此阶段仅仅知道range(5)表示可以循环5次即可
for i in range(5):
print(i)
'''
此循环效果等同于 while 循环的:
i = 0
while i < 5:
print(i)
i += 1
'''
输出结果:
0
1
2
3
4
6.break和continue
break:
for加与不加break语句示例:
普通的循环示例如下:
name = 'itheima'
for x in name:
print('----')
print(x)
else:
print("==for循环过程中,如果没有执行break退出,则执行本语句==")
输出结果:
----
i
----
t
----
h
----
e
----
i
----
m
----
a
==for循环过程中,如果没有执行break退出,则执行本语句==
如果加上break:
name = 'itheima'
for x in name:
print('----')
if x == 'e':
break
print(x)
else:
print("==for循环过程中,如果没有执行break退出,则执行本语句==")
输出结果:
----
i
----
t
----
h
----
break(打破),在Python之中的作用就是退出本次循环,就像刚刚的示例,不加上break,代码就会执行到底,如果如果加上,就会到达指定条件退出循环(因为加了if判断)。
注意:break语句只能用于循环语句中,不能用于其他语句(如if语句或函数中),break语句只能终止break所在的的循环,如果嵌套了多个循环,break语句只会跳出所在的循环。
while加与不加break语句示例:
不带有break的循环示例如下:
i = 0
while i<5:
i = i+1
print('----')
print(i)
else:
print("==while循环过程中,如果没有执行break退出,则执行本语句==")
输出结果:
----
1
----
2
----
3
----
4
----
5
==while循环过程中,如果没有执行break退出,则执行本语句==
带有break的循环示例如下:
i = 0
while i<5:
i = i+1
print('----')
if i==3:
break
print(i)
else:
print("==while循环过程中,如果没有执行break退出,则执行本语句==")
输出结果:
----
1
----
2
----
continue
介绍:continue的直接翻译意思是继续,就是跳过本次循环,与break的不同是,break是跳出本次while或for循环,而continue是跳过本次循环,还可以继续进行下次循环。
break:
i = 0
while i < 5:
i = i + 1
print('----')
if i == 3:
break
print(i)
else:
print("===========================")
输出结果:
----
1
----
2
----
continue:
i = 0
while i < 5:
i = i + 1
print('----')
if i == 3:
continue
print(i)
else:
print("===========================")
输出结果:
----
1
----
2
----
----
4
----
5
===========================
很明显,break是直接跳出了本次while循环,其他次循环均不执行,而continue只是将本次跳出。continue的作用就是用来结束本次循环,紧接着执行下一次的循环
注意:
1.brea k /continue只能用在循环中,除此以外不能单独使用
2.brea k /continue在嵌套循环中,只对最近的一层循环起作用