首页 > 技术文章 > py笔记之循环结构

SpeedZone 2021-10-21 23:13 原文

循环学了两个星期了,总结一下

要想理解循环

首先你要明白这玩意是用来解决什么问题的

在我们写程序的时候,通常会遇到很多问题是需要多次处理的

这时候,循环的作用就体现出来了

当你看到一道题,思路里出现了大量重复操作的时候

你就可以上循环了

以洛谷P5718为例

给出 n(n100)n(n100) 和 n 个整数 ai(0ai1000),求这 n 个整数中最小值是什么。

这个题目很明显是想让你比较这N个数的大小

这时候就是循环起作用的时候了

n=int(input())
ans=1001
a=[]
a=[int(x)for x in input().split()] #先把数据存到列表里,由于py输入函数的神奇特性导致我们只能这么做
for i in range(1,n+1):
    ans=min(ans,a[i-1])            #比较每一位
print(ans)

有了一层循环了,可以考虑嵌套的事情了

什么叫做循环嵌套呢?

其实身边就有例子

回忆一下传统的旋转钟表

是不是时针走一格,分针走一圈?

这里面已经拥有了循环嵌套的所有特性

 

那至于为什么会具有这种特性呢?

那就要回想我们代码的执行规则了。

那就是,必须一条一条按顺序执行。

循环嵌套便是完美利用了这个特性的产物

为什么这么说呢?

其实循环的结构看起来是这样的

 

 想象一下这是一个五次的循环

在你写下

for i in range(0,5):

的时候,你其实相当于写了五行代码

比如

t=0
for i in range(0,5):
    t+=1

等价于

t+=1
t+=1
t+=1
t+=1
t+=1

而当你写下一个循环嵌套的时候

t=0
for i in range(0,5):
    t+=1
    for j in range(0,5):
        t+=2

你实际上写了一个这玩意:

t+=1
t+=2
t+=2
t+=2
t+=2
t+=2
t+=1
t+=2
t+=2
t+=2
t+=2
t+=2
t+=1
t+=2
t+=2
t+=2
t+=2
t+=2
t+=1
t+=2
t+=2
t+=2
t+=2
t+=2
t+=1
t+=2
t+=2
t+=2
t+=2
t+=2

不相信的话自己加上输出语句看看结果hhh

虽然下面的执行效率会比上面稍微高一点点

好了,了解这一切以后,来看两道题吧

推荐阅读