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笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。