循环:有止境或毫无止境

还记得我们上一更的结尾处,这一个会输出九九乘法表格得代码么?可能我们在之前并不能理解这段代码的彻底含义,但是我们现在需要打起十二分谨慎来进行钻研,看看我们是否可以将循环给看的明白。

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j) + str("*") + str(i)+"=" + str(i*j),end="\t")
    print()
(输出结果为:)
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81

大家在代码中会发现有个单词range意思是n. 范围vi. (在…内)变动。然后我们进行整体化的理解(对一整行代码进行分析)for i in range():对其意思进行翻译,意思是:让 i 在范围内变动。

第一种循环

我们进行两次不同的for i in range():的使用模式来看看有什么不同和相同。(首先我们很清楚在range后面的括号里面填写的应该是一个范围,且 i 会在这个范围中变动)我们将 i 给打印出来,看看到底这个在范围内的变动是如何进行,且是以什么形式进行的变动。

for i in range(3):
	print(i)
(输出结果为:)
0
1
2
for i in range(0,3):
	print(i)
(输出结果为:)
0
1
2
for i in range(-1,3):
	print(i)
(输出结果为:)
-1
0
1
2

这具有典型性的三次实验表明,括号内填写的是一个范围,如若只填写一个数字,范围就是0到那个你填写的数字(如果你填-1,那么输出会是空,这个结果很无聊,所以我就没有写在代码块中)。

我们需要注意的另外一个很重要的问题就是两行代码中的第二行代码进行了等同于 i 变动次数的输出,而且第二行代码在代码前比第一行代码多了几个空格(仔细数数是四个空格),这被称之为:缩进 ^1

(这里所说的缩进是一个由四个空格(也等于一个TAB键)组成的,python具有严格的缩进制度表示上下代码的从属关系)

这个循环我们可以如何使用呢?

for i in range(9):
	print("I love you !",end = '')
(输出结果为:)
I love you !I love you !I love you !I love you !I love you !I love you !I love you !I love you !I love you !

我们发现循环是上下的从属关系,循环在进行,i 在变化自己的数值,下面缩进了的代码就会跟着 i 进行输出,然后就会进行九次循环。

这样我们可以进行多次代码的运行,且可以控制运行次数,这就是循环的用处,当然循环还有许多意想不到的用途等着大家去探索。

这里我们给出range()函数的解释:

range(start,end,step)

参数含义
start:计数从start开始,默认从0开始。

end:计数到end计数,但不包括end。

step:每次跳跃的步距,默认为1。(这里我们没有进行详细解释,大家可以去自己尝试尝试)

九九乘法表

到这我想用一种程序员的方式进行解释代码,这也是编程中极为重要的一部分——注释 ^2

(注释:在代码中我们可以用 # 将井号后的字段变成注释,不会被代码执行但做辅助理解代码的作用,是一种重要的编程手段,不只是 # 后的为注释,在三个单引号 ‘’’ ‘’'中间可以进行多行注释。)

for i in range(1,10): # i 从 1 到 10 进行九次改变
    for j in range(1,i+1): # j 从 1 到 i+1 进行改变
        print(str(j) + str("*") + str(i)+"=" + str(i*j),end="\t")  # 打印出 字符串j 加 字符串* 加 字符串i 加 等于 加 字符串(i + j) 结尾使用制表符
    print() #j每进行完一次改变时,进行一次换行
'''
多行注释
多行注释
'''

到这其实上述程序的运行已经十分清晰了,这时我们也发现循环的使用是多么的有用,我们可以进行多个循环之间进行叠加,从而产生意想不到的效果。

第二种循环

while()函数是我们第二种循环需要使用到的函数,首先我们先来看一看它是如何运行的。

x = 1
while(x < 3): #这里不使用括号依然有效
	print(x)
	x = x + 1
(输出结果为:)
1
2

while()函数又被称之为while Ture函数,这是一种条件循环,只要括号里面的条件是正确的,被其所包含的函数则会循环运行,直到条件是错误的,则跳出循环。

该循环因为容易出现死循环的现象和拓展其功能,编译中有两个保留字是在此使用的:break和continue。

break:终止循环,跳出循环体

continue:中止当前本轮循环,开启下一轮循环

其都有自身的使用方法,我们进行举例说明:

#break:终止循环,跳出循环体
x = 0
while x < 4 :
	x = x + 1
	if x == 2:
		break
	print(x)
(输出结果为:)
1
#continue:中止当前本轮循环,开启下一轮循环
x = 0
while x < 4 :
	x = x + 1
	if x == 2:
		continue
	print(x)
(输出结果为:)
1
3

这里我们看一下else保留字的用法。

# while循环中的else
# 循环条件不成立,退出循环执行else中的代码
# 使用break跳出循环,不会执行else中的代码
x = 0
while x < 4:
	x = x + 1
    if x == 2:
        break
    print(x)
else:
    print('while循环对应的else')
(输出结果为:)
1
#没有break,进行循环
x = 0
while x < 4:
	x = x + 1
    print(x)
else:
    print('结束循环')
(输出结果为:)
1
2
3
结束循环

于是到这我们便知晓了如何进行这种循环操作了,这种循环的函数是我们人工不用去做那些重复的有规律的无聊枯燥的事情,这也是计算机帮助人的地方。

最后我们给出一组对比代码,大家可以进行比较:

x = 0
while x < 4:
	x = x + 1
    print(x)


x = 0
while x < 4:
	x += 1
    print(x)