py笔记之循环结构
循环学了两个星期了,总结一下
要想理解循环
首先你要明白这玩意是用来解决什么问题的
在我们写程序的时候,通常会遇到很多问题是需要多次处理的
这时候,循环的作用就体现出来了
当你看到一道题,思路里出现了大量重复操作的时候
你就可以上循环了
以洛谷P5718为例
给出 n(n≤100)n(n≤100) 和 n 个整数 ai(0≤ai≤1000),求这 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
虽然下面的执行效率会比上面稍微高一点点
好了,了解这一切以后,来看两道题吧