计算机最擅长做自动的、重复性的工作,而且不会出错。几乎任 何语言都有关于循环方面的语句。让我们看一看Python的第一个循环语 句:while。请看下面的函数:
def f(x):
result = 0
while(x):
result = result + x
x = x - 1
return result
这个函数计算从1到x之间所有整数之和。当我们传递参数给x时,while语 句判断x是否大于0,大于0则执行while内的语句。每执行一次循环,x减 去1,当x等于0时,while循环终止。
因此,while执行的过程如下:
• 计算循环的条件,将得到1或0;
• 如果条件为0,退出while循环,执行循环外的语句;
• 如果条件为1,执行while块内的每一条语句,然后返回第一步。
如果第一次循环的条件为0,则while语句块的内容永远也不会被执 行。另外,循环体内要有使循环结束的方法,从而终止循环的执行。否 则,就成了永远不会停止的无限循环。
下面的例子是打印九九乘法表:
def minus():
x = 0;
y = 0;
while(x <= 9):
while(y <= 9):
if(y == 4): print x, "*", y, "=", x * y
else:
print x, "*", y, "=", x * y, ’ ’,
y = y + 1
x = x + 1
y = 0
这个例子中有两个while语句,其中的一个嵌套于另一个之中。
一个条件可以包含在另一个条件中。看下面的例子:
def isEqual(x, y):
if x == y:
print x, "等于", y
else:
if x < y:
print x, "小于", y
else:
print x, "大于", y
这个函数有两个分支:第一个分支只是简单的打印语句;第二个分支又包 含了两个分支,每个分支也是打印语句。这个程序不利于阅读。编程时, 我们要避免出现这样的情况。
逻辑操作符提供了简化条件嵌套的方法。例如,判断一个数是否大 于0且小于10,第一种写法如下:
>>> x = 8.9
>>> if x > 0:
if x < 10:
print "x大于0且小于10"
x大于0且小于10
第二种写法利用了and操作符,易于阅读,是通常的用法:
>>> if (0<x) and (x<10):
print "x大于0且小于10"
x大于0且小于10
第三种写法与数学上的很相似:
>>> x = 1
>>> if 0 < x < 10:
print "x大于0且小于10"
x大于0且小于1
上一篇:《Python学习笔记》第四章