在上一篇文章中,我们学习了Python中的分支结构。在这一篇文章中,我们将学习Python中的循环结构。
什么是循环结构?
循环结构,顾名思义,就是当满足一个条件的时候,让程序重复执行某一个代码块。现在想象一个场景,假设你要输出从1到10000的所有数,如果你写10000个print()函数,那实在是太麻烦。 所以我们可以通过循环结构,只需要一行print就可以打印出10000个数。
循环结构的代码结构
在Python语言当中循环一般通过两个语句都可以实现,分别是for循环和while循环.这两个语句的表达方式有一定的差距,但是核心却都是“重复”,也可以通过一些方式相互替代,侧重于不同的场景,加快编码效率。
for循环
for 变量 in 可循环迭代的对象:
pass #循环体
while循环
while 条件:
pass #循环体
注意:这里有一点需要强调,那就是循环的条件必须是可以终止的,如果循环的条件一定恒成立的话(比如1<100),那么循环将会无限循环下去,成为一个无限循环.
代码示例:
sum1=1
for i in range(1,11):
sum1*=i
print(sum1)
sum2=1
j=1
while j<=10:
sum2*=j
j+=1
print(sum2)
上面两个程序的代码都可以实现求10的阶乘。
循环控制语句
在执行某些循环的时候,我们可能要让代码提前跳出循环,或者提前终止循环,或者跳出某次循环迭代,那么这时候就需要用到循环控制语句。
continue语句
continue语句可以让代码跳出某次迭代。
代码示例如下:
sum3=0
for k in range(1,11):
if k%2==0:
continue
sum3+=k
print(sum3)
上述代码当K是偶数的时候,就直接执行下一次循环,如果不是偶数的话,那就加到sum3上,这样就实现了这对1到10中奇数的求和。
break语句
for x in range(1,11):
if x==7:
break
print(x)
上述代码当x为七的时候就直接跳出,所以上述代码的功能是输出从1到6。
else语句
sum3=0
for k in range(1,11):
if k%2==0:
continue
sum3+=k
else:
print("循环结束")
print(sum3)
for x in range(1,11):
if x==7:
break
print(x)
else:
print("循环结束")
分析上述代码我们可以发现,运行之后的结果是:第一个代码会输出“循环结束”,而第二个代码块没有输出”循环结束“。
这是为什么呢?
这是因为else语句的功能就是判断循环是否正常结束,如果循环正常结束执行到了最后一次正常结束的话,那么就会执行else里面的代码块。
简而言之,else语句只在循环没有被break中断的情况下执行。
接下来,我们结合分支结构和循环结构,来写一个简单的判断质数的程序,代码如下:
n=int(input())
for i in range(2,n):
if n%i==0:
print(f"{n}不是质数")
break
else:
print(f"{n}是质数")
这个程序判断从2到n-1的数,如果其中有可以被n整除的数,那么n就不是质数。否则,n的因子只有1和它本身,那n就是质数。
好了,以上就是关于Python中循环结构和循环控制语句的所有内容。欢迎在评论区留言,我们一起进步!


