Python while循环语句的用法
循环结构又称为重复结构,能够根据所设立的条件重复执行某一段程序语句,直到条件不成立才跳出循环。Python 提供了 for、while 两种循环语句来执行重复程序代码的工作。
while 循环主要由两个元素组成:
本文我们重点介绍 Python while 循环,想了解 for 循环的读者请转到:Python for循环的用法。
while 循环与 for 循环类似,都属于前测试型循环。两者最大的不同之处就在于 for 循环需要给它一个特定的次数;而 while 循环不需要,只要在判断结果为 True 的情况下就能一直执行。
while 循环内的语句可以是一个语句,也可以是多个语句形成的程序块。while 关键字后面到冒号“:”之间的表达式是用来判断是否执行循环的测试条件,语法格式如下。
当程序遇到 while 循环时,它会先判断条件表达式中的条件,如果条件成立,那么程序就会执行 while 循环下的语句一次,完成后会再次判断条件,如果还成立那么就继续执行循环,当条件不成立时循环就中止,例如下面的程序。
当 i 小于 10 时,执行 while 循环内的语句,所以 i 会加 1,直到 i 等于 10。当条件不成立时,就会中止循环,例如下面的代码。
上面例子中的 while 循环变量 sum 用来存储累加结果;count 是一个计数器,用来取得指定数值范围内所有的 3 的倍数,因此循环每执行一次 count 值就加 3。
【示例2】利用 while 循环来计算当 1000 依次减去 1、2、3……时,到哪个数相减的结果为负。代码如下:
第 2 行:定义 while 循环的成立条件为 “sum>0”,sum 依次减去 x 的值。x 每循环一次就累加一次,当循环条件不成立时,输出 x 的值。
【示例3】利用辗转相除法与while循环来求任意两个正整数的最大公因数。代码如下:
【示例4】利用 while 循环,让用户输入一个整数并将此整数的每一个数字反向输出。代码如下:
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
while 循环主要由两个元素组成:
- 循环的执行主体,由程序语句或复合语句组成。
- 循环的条件判断,决定循环何时停止执行。
本文我们重点介绍 Python while 循环,想了解 for 循环的读者请转到:Python for循环的用法。
Python while 循环
如果所要执行的循环次数确定,那么使用 for 循环就是最佳选择。但对于某些不确定次数的循环,while 循环就可以派上用场了。while 循环与 for 循环类似,都属于前测试型循环。两者最大的不同之处就在于 for 循环需要给它一个特定的次数;而 while 循环不需要,只要在判断结果为 True 的情况下就能一直执行。
while 循环内的语句可以是一个语句,也可以是多个语句形成的程序块。while 关键字后面到冒号“:”之间的表达式是用来判断是否执行循环的测试条件,语法格式如下。
while 条件表达式:
要执行的程序语句
当程序遇到 while 循环时,它会先判断条件表达式中的条件,如果条件成立,那么程序就会执行 while 循环下的语句一次,完成后会再次判断条件,如果还成立那么就继续执行循环,当条件不成立时循环就中止,例如下面的程序。
i=1
while i < 10: #循环条件表达式
print( i)
i += 1 #调整变量增减值
当 i 小于 10 时,执行 while 循环内的语句,所以 i 会加 1,直到 i 等于 10。当条件不成立时,就会中止循环,例如下面的代码。
sum=0 count = 0 #计数器 while count <= 20: sum += count #将3的倍数累加 count += 3 print('1~20内的3的倍数的总和为: ', sum) #输出累加结果
上面例子中的 while 循环变量 sum 用来存储累加结果;count 是一个计数器,用来取得指定数值范围内所有的 3 的倍数,因此循环每执行一次 count 值就加 3。
Python while 循环应用示例
【示例1】应用 while 循环让用户输入捐款金额,并同步进行累加的工作。当输入的捐款金额为 0 时,输出所有捐款金额的总和。代码如下:total = 0 money = -1 count = 0 #计数器 # 进入while循环 while money != 0: money = int(input('输入捐款金额:')) #用int()转为整数 total += money print('累计:', total) print('总捐款金额:', total, '元')输出结果:
输入捐款金额:52
累计: 52
输入捐款金额:68
累计: 120
输入捐款金额:58
累计: 178
输入捐款金额:54
累计: 232
输入捐款金额:89
累计: 321
输入捐款金额:81
累计: 402
输入捐款金额:0
累计: 402
总捐款金额: 402 元
- 第 1 行:设定total变量的初始值为0,total变量用来累计捐款金额的总额。
- 第 2 行:任意设定money变量的值,例如,此处设定“money=-1”,以作为进入循环的初始条件。
- 第 6 行:进入 while 循环,条件表达式 “money!=0” 表示输入 0 才会结束循环;变量 total 存储加总的金额,此变量的初始值为 0。
【示例2】利用 while 循环来计算当 1000 依次减去 1、2、3……时,到哪个数相减的结果为负。代码如下:
x,sum=1,1000 while sum>0: #while循环 sum-=x x=x+1 print(x-1)输出结果:
45
程序解说:第 2 行:定义 while 循环的成立条件为 “sum>0”,sum 依次减去 x 的值。x 每循环一次就累加一次,当循环条件不成立时,输出 x 的值。
【示例3】利用辗转相除法与while循环来求任意两个正整数的最大公因数。代码如下:
print("求两个正整数的最大公因数:") print("输入两个正整数:") #输入两个正整数 Num1=int(input()) Num2=int(input()) if Num1 < Num2: TmpNum=Num1 Num1=Num2 Num2=TmpNum#找出这两个正整数中的较大值 while Num2 != 0: TmpNum=Num1 % Num2 Num1=Num2 Num2=TmpNum #辗转相除法 print("最大公因数为:%d" %Num1)输出结果:
输入两个正整数:
72
60
最大公因数为:12
- 第 4~5 行:输入两个正整数。
- 第 6~9 行:找出这两个正整数中的较大值。
- 第 10~13 行:辗转相除法。
- 第 14 行:输出最大公因数。
【示例4】利用 while 循环,让用户输入一个整数并将此整数的每一个数字反向输出。代码如下:
n=int(input("请输入任意一个整数:")) print("反向输出的结果:",end='') while n!=0: #while循环 print("%d" %(n%10),end='') #求出余数值 n//=10输出结果:
请输入任意一个整数:987654321
反向输出的结果:123456789
- 第 1 行:请输入任意一个整数。
- 第 3~5 行:利用 while 循环将所输入的整数的每一个数字反向输出。
声明:《Python系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。