1 循环语句
循环语句用于重复执行某段程序代码,直到满足特定条件为止。在Python语言中,循环语句有以下两种形式。
- while 循环语句
- for 循环语句
1.1 while 循环语句
while 循环语句是用一个表达式来控制循环的语句,它的一般形式为:
while 表达式:
语句块
当表达式的返回值为真时,执行语句块(或称为“循环体”),然后重新判断表达式的返回值,直到表达式的返回值为假时,退出循环,具体流程图如下图所示。
【例1-1】用while循环语句实现计算1~99的整数和。
n = 1
sum = 0
while(n <= 99):
sum += n
n += 1
print("1-99的整数和是:",sum)
运行结果如下:
1-99的整数和是: 4950
【例1-2】设计一个小游戏,让玩家输入一个数字,程序判断是奇数还是偶数。
prompt = '输入一个数字,我将告诉你,它是奇数,还是偶数'
prompt += '\n输入“结束游戏”,将退出本程序:'
exit = '结束游戏' #退出指令
content = '' #输入内容
while content != exit:
content = input(prompt)
if content.isdigit(): #isdigit()函数用于检测字符串是否只由数字组成
number = int(content)
if(number % 2 == 0):
print('该数是偶数')
else:
print('该数是奇数')
elif content != exit:
print('输入的必须是数字')
代码运行示例:
输入一个数字,我将告诉你,它是奇数,还是偶数
输入“结束游戏”,将退出本程序:7
该数是奇数
输入一个数字,我将告诉你,它是奇数,还是偶数
输入“结束游戏”,将退出本程序:8
该数是偶数
输入一个数字,我将告诉你,它是奇数,还是偶数
输入“结束游戏”,将退出本程序:结束游戏
在编写while 循环语句时,一定要保证程序正常结束,否则会造成“死循环”(或“无限循环”)。例如,在下面的代码中,i的值永远小于100,运行后程序将不停地输出0.
i = 0
while i < 100:
print(i)
1.2 for 循环语句
for 循环语句是最常用的循环语句,一般用在循环次数已知的情况下,它的一般形式为:
for 迭代变量 in 对象:
语句块
其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表和元组等;被执行的语句块也称为“循环体”。具体流程图如下图所示。
【例1-3】用for循环语句实现计算1~99的整数和。
sum = 0
for n in range(1,100): #range(1,100)用于生成1到100(不包括100)的整数
sum += n
print("1到99的整数和是:",sum)
代码运行结果如下:
1到99的整数和是: 4950
【例1-3】中用到了range()函数,该函数的具体用法如下:
- range(stop):生成从0开始到stop结束(不包含stop)的一系列值。比如,range(3)生成的数值是0、1、2。
- range(start, stop):生成从start开始到stop结束(不包含stop)的一系列数值。比如,range(2, 5)生成的数值是2、3、4。
- range(start, stop, step):生成从start开始到stop结束(不包含stop)、步长为step的一系列数值。比如,range(2,10,2)生成的数值是2、4、6、8,range(10,1,2)生成的数值是10、8、6、4、2。
【例1-4】输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因