Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
其基本形式为:
while判断条件:
执行语句……
执行语句:可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null的值均为true;当判断条件假false时,循环结束。
此外“判断条件”可以是个常值,表示循环必定成立。
跳过循环:While用continue、break来跳过循环,continue用于跳过该次循环,break则是用于退出循环。
例1:用while循环实现1-100的和
i=0
sum=0#赋初始值
while (i<100):
i+=1
sum+=i
print sum
运行结果如下:
例2:while循环适合于满足某些条件就无限循环的程序
i=""
while i!='q':
print 'hello python'
i=raw_input('please input something,q for quit:')
print i
运行结果如下:
例3:while跳出循环(break、continue)
i=""#i的初始值为空
while i!='q':
print 'hello python'
i=raw_input('please input something,q for quit:')
print i
if not i :
break#输入空值(不输入,直接回车),直接跳出while循环
if i=='c':
continue#跳出本次循环,继续执行下一次while循环
print '*'*8#打印8个*
运行结果如下:
例4:while...else(在程序正常退出的情况下,执行else)
i="" #i的初始值为空
while i!='q':
print 'hello python'
i=raw_input('please input something,q for quit:')
print i
if not i :
break #输入空值(不输入,直接回车),直接跳出while循环
if i=='c':
continue #跳出本次循环,继续执行下一次while循环
print '*'*8 #打印8个*
else:
print 'bye' #正常退出打印bye
运行结果如下:
例5:break、continue区别
#打印出既能被2整除,又小于7的数
i=0
while i<10:
i+=1
if i%2!=0:
continue
elif i>7:
break
else:
print i
运行结果如下:
例6:实现连续运算的计算器程序(+、-、*、/)
1)while if…else实现
#-*-coding:utf-8-*-
a=float(raw_input('Please input anumber:'))
while 1: #只要满足条件一直执行,死循环
b=raw_input('Please input an operator:')
c=float(raw_input('Please input a number:'))
if b =='+':
a=a+c
print 'result:',a #注意此种方式,输出result:a
elif b=='-':
a=a-c
print 'result:',a
elif b=='*':
a=a*c
print a
elif b=='/':
a=a/c
print a
else:
print('Input error.Please input an operator as + - * /' )
break
运行结果如下:
注:运用if条件判断方法,效率较低。
2)while与字典结合实现,字典替换if条件判断
python不支持switch语句,但用字典可以完成switch语句功能,方法如下:
step1:定义一个字典;step2:运用get方法来获取相应的表达式
a=float(raw_input('Please input anumber:'))
while 1: #只要满足条件一直执行,死循环
b=raw_input('Please input an operator:')
c=float(raw_input('Please input a number:'))
result ={
'+':a+c,
'-':a-c,
'*':a*c,
'/':a/c
}
a=result.get(b)
print'result:',a
运行结果如下:
说明:这里只是为了举例说明while的用法,并不是一个严格意义上的计算器程序,后续有需要可以完善。
网友评论