今天我们要学习的是嵌套与可变循环,这些内容是我们在编写代码时经常使用的 ,所以大家要认真学哟。
嵌套循环
我们先看一段代码,这段代码是打印一张乘法表,在学习我们这节之前,我们可能会这样写:
tmpNum = 5
#循环 打印 乘法表
for index in range(1,10):
print index , " * " , tmpNum , " = " , index*tmpNum1234复制代码类型:[python]
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45123456789复制代码类型:[python]
虽然这样我们可以得到我们想要的结果,但是,如果我们不止想要打印9*9的乘法表,又要该怎样实现呢?总不能要定义九个变量吧?来我们看下面的代码。
我们可以把两个循环,嵌套使用,也就是说把一个循环写入另一个循环内。
#第一个循环的值i 是我们要打印的第一个乘数
for i in range(1,10):
#第二个循环的值index是我们要打印的第二个乘数
for index in range(1,10):
#输出 这两个数的 乘积
print i , " * " , index , " = " , index*i
#结果:
#1 * 1 = 1
#1 * 2 = 2
#1 * 3 = 3
#1 * 4 = 4
#1 * 5 = 5
#1 * 6 = 6
#1 * 7 = 7
#1 * 8 = 8
#1 * 9 = 9
#2 * 1 = 2
#2 * 2 = 4
#2 * 3 = 6
#2 * 4 = 8
#2 * 5 = 10
#2 * 6 = 12
#2 * 7 = 14
#2 * 8 = 16
#2 * 9 = 18
#这里就不一一打出来了1234567891011121314151617181920212223242526复制代码类型:[python]
这里我们需要注意的是,我们内部的循环要注意代码缩进哦,使用循环嵌套我们可以节省很多代码,也很简洁
可变循环
之前我们写过的循环的循环列表,循环的次数大都是写死的,但是如果我们需要把要循环的次数交给用户来觉得,那么我们该怎么写呢?
#这里我们让用户输入要打印*的数量
inputNum = int(raw_input())
#循环打印*,注意我们这里的循环是从0 开始的
for i in range(0,inputNum):
print "*"
#我们这里输入5,打印出来的值是:*****五个*123456复制代码类型:[python]
这里我们需要注意的是我们的循环的次数是用户输入的,不再是我们写死的
同样我们可以把可变循环嵌套使用
同样我们使用,打印乘法表的例子,我们改进一下,让用户决定要打印()*9的乘法表,来看一下代码:
num = int(raw_input())
for i in range(1,num):
for j in range(1,10):
print i , " * " , j , " = " , j*i
#这里我们输出的结果是由用户决定的12345复制代码类型:[ruby]
同样我们可以两个循环的次数都由用户决定
num = int(raw_input())
index = int(raw_input())
for i in range(1,num):
#这里的嵌套循环也是由决定的
for j in range(1,index):
print i , " * " , j , " = " , j*i
#这里我们输出的结果是由用户决定的