从零开始的Python计划 #4.2 【循环】


来更新了!让大家久等惹w。很意外也很高兴有这么多人来看文章内容,今后我会写得更加仔细的!小白们要一起努力!不敢保证看了文章后一定会学得很厉害,但是文章都看懂的话,一定可以慢慢学会Python这个神奇的语言的>-<,基础知识一定不可以懈怠。朋友对我说学编程就跟搭积木一样,一点点堆,一个一个来,就好了。

重复结构(循环语句)

循环基本上是一个重复结构,通常用在必须编写多次执行相同任务的代码,这是最典型的编程。

假如我们需要输入10个数字并将这些数字相加,在一切我们迄今已知的Python内容(之前文章更的内容)中,我们可以这样做: 在这里插入图片描述这样十次不算多,但是让我们添加百位,千位的数字,我们将不得不复制粘贴代码重复百次,千次。这样会有一个巨大的文件,只是为了一些数字的加法运算,这样既繁琐也不有效。

所以有更好的方式来解决
重复结构:使计算机根据需要重复包含的代码-包括条件控制循环和计数控制循环
所以我们可以告诉计算机重复具体数量的代码,按照我们所希望的次数去进行。

1)while循环:条件控制循环

while循环:当条件为true时,执行一些操作
while是个英文单词,它的含义是指在Python中,当某些事情是真的时,做其他的事情,
这个循环由两个部分组成:1·测试条件真假(所以我们需要给while循环条件去进行测试)2·只要条件为真,语句就会重复(在while里面的语句将会被重复)
一般格式语法:

这里是引用
在condition里定义我们需要什么是真的,然后缩进while语句,这样代码语句就可以重复了

看一下流程图可以更好地解释:

循环路线:
在这里插入图片描述为了使循环停止执行,必须在循环内发生一些事情以使条件为false

再介绍一个概念 :迭代:循环主体的一次执行(进行一次while被看作一次迭代

想发个短视频来更好地解释的,结果发现发不了。。。。如果有需要的话,可以私信给我,我一个一个发。

举个简单的代码看一下吧:

a = 1
while a < 10
	print(a)
	a += 2

从1开始进入while循环,当循环中的加法结果大于10时,离开while循环。这是个很好了解while循环的有效途径。

2)for循环:计数控制循环

计数控制循环:迭代特定次数
for语句设计用于处理数据项序列-对序列中的每个项目重复一次

一般格式:
在这里插入图片描述
目标变量:每次迭代开始时赋值的目标变量val1,val2等这些是目标变量,这些变量会依次在函数进行循环

for循环图形解释:

在这里插入图片描述
解释列表变量的值依次在for循环中重复(num是变量名)

range函数

在for循环中使用range函数
range函数能简化编写for循环的过程
在我们调用范围时,range返回一个可迭代的对象
可迭代:包含一系列可以迭代的值

看一下下图的对比:
在这里插入图片描述
end="表示不要换行,结果打印在一行里

右边的range(5)是一个较短的版本,来告诉python同样的事情,表示创建5以内的范围(数字0-5)并且将它传递给for循环迭代
可以想象一下,假设我们有一个几千数字的列表,用range函数会更加高效,而不用把几千个数字全部写出来.
range显然有一些特点:范围函数可以接受1个,2个或3个参数
一个参数:用于结束限制( 区间是[,) ),就拿上面例子来说,range(5 )循环会迭代到4,因为5是排除的终止数;
两个参数:会被解释成起始值和结束限制。起始值包含在内,结束值不包含在内。(比如range(5,10)意味着它将返回5-10之间的整数5,6,7,8,9,却不包括10,跟上面例子一个道理的)
三个参数:则是开始值,结束值,迭代的步长值
意思就是可以设定特定的数字间隔:

看一下对比,就可以更好地明白了:在这里插入图片描述
开始值是10,结束值是0,0不被包括,步长值是-3,每次迭代的值将-3

3)for循环和while循环的示例对比

for循环示例

(1)

def get_sum():
	sum = 0
    for count in range(1, 11):
    	n = int(input("Enter number %d : " %count))
        sum += n # this is equivalent to sum = sum + n
	print("Here is sum %d" %sum)

它会加上10次输入的数字得出和,最后在控制台打印结果55:

这个循环有10次迭代,11不被包括,并且从1开始,避免了0.每次用户输入的数字,数字和变量sum相加,当for循环结束,退出循环,得到结果在这里插入图片描述

(2)

def for_test():
    for i in range(0, 10, 2):
        i += 1
        print(i)
for_test()

会得到结果:1 3 5 7 9
这是因为每次迭代的时候都会有一个i += 1

(3)

def for_test_str():
  colors = ["red", "blue","orange",
    "green", "white", "purple"]
  for i in colors:
        print(i)
for_test_str()

得到结果:red blue orange green white purple
可以看出for循环可使用任何数据类型的序列,而不仅仅是数字。

while循环示例
def get_sum():
	sum=0
	count = 1
	while count <= 10:
			n = int(input("Enter number %d : " %count))
			sum += n #thisisequivalenttosum=sum+n
			count += 1 # this is equivalent to count = count + 1
	print("Here is sum %d" %sum)

这个有一点点难度,这是基于条件的while循环
条件为真,则while循环运行

得到结果是这样的:
在这里插入图片描述

所以你可以看到,有时侯while循环更好,但有时候我们需要定义循环的次数,for循环更容易去阅读

4)嵌套循环

嵌套循环:包含在另一个循环中的循环
我们可以联系到if-else语句,我们可以把一个if语句放在和缩进在另一个if语句里面,可以有多重条件设置在内部嵌套,最后一个条件是依赖于前一个条件,同样的道理也适用于循环。
理解这个很简单的方法就是想想时钟:
对于“小时”的每次迭代,执行60次“分钟”的迭代;对于分钟,每次迭代“分钟”执行60次秒。

#计数分钟的for循环
for minutes in range(60): 
	for seconds in range(60):
		print(minutes, ':', seconds)

它看起来似乎很容易,但你需要按照这个概念,否则当使用嵌套循环的时候,你会很困惑
当我们有嵌套循环的时候,最里面的循环要走完,才能离开再返回到外一层的循环

#计数
for hours in range(24):
	for minutes in range(60):
		for seconds in range(60):
			print(hours, ':', minutes, ':', seconds)

关于嵌套循环的要点:
1·对于外部循环的每次迭代,内部循环都会经历其所有迭代环(外面的循环会比里面的循环运行得慢,因为里面的循环总是要被使用)
2·内部循环比外部循环更快地完成迭代(一次外循环,要走完里循环才能进行下一个的外循环)

关于Python更新的内容在越来越难了,但是不要放弃,一定可以学好它的!

发布了11 篇原创文章 · 获赞 116 · 访问量 7175

猜你喜欢

转载自blog.csdn.net/Mr_zoezhou/article/details/104782765
4.2