如约来更新循环语句了.说到循环,有一定编程基础的小伙伴们都知道,我们最常用的循环莫过于 while循环,for循环和goto循环(不过goto也不怎么常用),所以今天就来说一说 while循环和 for循环
来看一下本文大致结构:
- while 循环
- break语句 和 continue语句
- for 循环
一、while 循环
while循环 除了需要使用缩进来执行循环体里的语句,其它几乎和C语言相同。
- 流程图
- 格式
while 条件语句:
执行的语句1
执行的语句2
...
执行的语句N
当条件语句为真(True)时,就会执行while循环下的语句
- 示例
下面的代码用于实现 1到100 的累加并输出:
sum=0
i=1
while i <= 100:
sum=sum+i
i=i+1 #注意:Python中没有 i++ 或 i-- 这种自增或自减运算符
print(sum)
其次,while中的条件语句可以不唯一,但是不再像C语言一样用 &&,||,! 等逻辑运算符(因为Python中没有这些),而是用 and(与),or(或),not(非) 这三个Python中有的逻辑运算符来进行多个条件的连接。
例如:
a = 1
while a==1 or a==2: #当 a等于1 或 a等于2 进行while循环
a = a + 1
print(a) #输出 3
- 死循环
当我们需要计数很多次,甚至连我们自己也不知道要计数多少次的时候,死循环或许是一个不错的选择,while死循环一般格式如下:
while True: #使条件始终为真 例如" while 2>1: "
执行的语句1
执行的语句2
...
执行的语句N
- while…else… 结构
其次,介绍一下 while…else…结构 ,不过不常用。
格式如下:
while 条件语句:
执行的语句1
执行的语句2
...
执行的语句N
else:
执行的语句N+1
执行的语句N+2
...
while的条件语句为真时,执行下面的语句1到语句N,当条件为假时,执行else下面的语句。
二、break语句 和 continue语句
这两个语句都是在循环中发挥作用的,用于对循环结构的操作
1. break 语句
break 语句 可以立即终止当前循环的执行,跳出当前所在的循环结构。
举个例子,假如你打算把课本复习10遍,当你复习第三遍时,突然旁边的手机对你使用了break语句,你便停止了循环的复习,开始执行循环复习之外的事情。
- break语句的一般格式:
while True:
执行的语句1
执行的语句2
break #break语句后面的语句就不再执行了,并跳出循环
...
执行的语句N
上面的代码中,当循环里的语句执行到break语句时,循环就被中断了(就像你的复习一样被打断了),就开始执行while循环后的语句了。
2. continue 语句
continue 语句 也是在循环中起作用,它会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。
同样举个例子,同样假如你要把课本复习10遍,你复习第三遍时,一阵风把你的书吹合上了,你忘记是第几页了,便只能从头开始看。这时,这阵风就相当于continue语句,结束了当前循环,但还会进行下一次循环。
- continue语句的一般格式:
while True:
执行的语句1
执行的语句2
continue #continue语句后面的语句在这次循环不再执行,但在下次循环还会执行,并不会跳出循环
...
执行的语句N
上面的代码中,当循环里的语句执行到continue语句时,这次循环就被中断了(就像风吹乱了你的课本),还会执行下一次的循环。
三、for 循环
- range()函数
说到for循环,就必然要说到它的好兄弟range()函数,因为很多有for循环的地方都能用到它。所以我们先来讲讲range()函数。
功能:根据起始数字,终止数字 和 步长 来返回 可迭代对象 (在Python3中,Python2返回的是列表,这里不做深究) 。
格式:
range(起始数字,终止数字,步长)
起始数字:开始计数的数字;默认为0,所以该项在写时可省略,例如 range(10) 等价于 range(0,10)
终止数字:终止计算的数字,但不包含该项,例如 range(0,3) 依次返回 0,1,2,并不包含 3 ;无默认值,所以该项必填;
步长:就是连续返回的两个数字间隔大小,例如 range(0,10,3) 依次返回 0,3,6,9,每两个相邻数字之间间隔大小为3;其次,步长可为负数,用法和正数差不多,例如 range(10,0,-3) 依次返回 10,7,4,1,相邻两个数字相差 -3 。
- for 循环
for循环想必学过C语言的同学是再了解不过了,但是Python中for循环的语法相对于C语言中有了较大不同,所以千万不要把两者弄混了哦!
流程图
格式:
for 变量名 in 可迭代对象名:
执行的语句1
执行的语句2
...
执行的语句N
此处我们只讨论for循环与range函数有关的用法;
例子:
我们用for循环来改写上面 1到100 的累加
sum = 0
i = 1
for i in range(1,101,1):
sum = sum + i
print(sum)
for…else 结构
这个和 while…else结构 一样不常用,大致格式为
for 变量名 in 可迭代对象名:
执行的语句1
执行的语句2
...
执行的语句N
else:
执行的语句N+1
执行的语句N+2
...
它会在上面的for循环执行完之后,执行else下面的语句,和 while…else结构 差不多。
到这里,本节就结束了,感兴趣的小伙伴可以看一下下面的题目哦!
四、题目
请用Python实现并计算 1x2x3+3x4x5+…+99x100x101的结果并输出。
答案: while循环版:
sum = 0
i=1
while i<=99:
sum = sum + i*(i+1)*(i+2)
i = i + 2
print(sum)
for循环版:
sum = 0
i=1
for i in range(1,101,2):
sum = sum + i*(i+1)*(i+2)
print(sum)
本节到这里就结束了,欢迎观看下期哦!