python基础 循环结构程序设计(上)

循环结构有以下几个基本结构:while语句,for语句,break语句,continue语句,以及循环结构解决问题的办法。
循环结构是一种重复执行的程序结构。实际应用中,经常会碰到一些需要重复执行的步骤。如级数求和、统计报表等。python提供了两种基本的循环结构语句——while语句、for语句。

一、while语句
1.格式:
(1)while 条件表达式 :
循环体
(2)while 条件表达式 :
循环体
else:
语句
while语句条件表达式的值是布尔型,表达式的值为“真”或者“假”决定了循环继续或者停止。
while语句的执行过程是:每一次循环之前计算机先判断条件表达式的值,如果其布尔值为真,就执行循环体,如此反复执行,直到条件表达式的值为布尔假,就结束循环。如果while后面有else语句,结束循环之后就执行else语句。

PS:(1)while语句的语法与if语句类似,要使用缩进来分割子句。
(2)while语句的条件表达式不需要用括号括起来,表达式后面必须有冒号。
(3)python与其他大多数语言不同,在while循环中可以使用else语句,即构成了while-else语句循环结构。

while语句是条件循环语句,大多数情况下用于解决不确定循环次数的问题——即只有当某条件成立时,循环才会结束,否则循环将一直继续循环下去。while语句也可用于解决确定循环次数的问题。使用while语句时,条件表达式的设置比较关键,表达式的正确与否决定了循环次数是否正确、循环是否能正常结束,从而避免程序进入死循环。
while语句还有一个特殊的用途是设计无限循环的程序,在一些特定的场合,循环需要无限期地执行下去,知道循环被强行退出。

2.while语句解决不确定循环次数的问题
不确定循环次数的问题是指循环之前不可预知循环执行了多少次,循环何时结束是由while语句的条件表达式来决定。
例:从键盘输入若干个数,求所有输入正数之和。当输入整数为负数时,结束该操作。

s=0
x=input("请输入一个整数:")
while x>=0:
    s=s+x
    x=input("请输入一个整数:")
print "整数之和=",s

运行结果:
请输入一个整数:10
请输入一个整数:2
请输入一个整数:-5
整数之和=12

例:从键盘上输入若干个字符,一边输入一边输出,当输入“#”字符时终止该操作。

a=raw_input('请输入字符,当输入#时结束输入操作:')
while a != '#'
    print "您输入的字符是 "a
    a=raw_input('请输入字符,当输入#时结束输入操作:')
else:
    print '输入结束'

运行结果:
请输入字符,当输入#时结束输入操作:a
请输入字符,当输入#时结束输入操作:b
请输入字符,当输入#时结束输入操作:c
请输入字符,当输入#时结束输入操作:#
输入结束

3.while语句解决确定循环次数问题
确定循环次数的问题是指循环之前可以预知循环即将执行的次数。为了控制循环次数,通常在程序中设置一个计数变量,每次循环,该变量进行自增或自减操作,当变量值自增到大于设定的上限值或者自减到小于设定的下限值时,循环自动结束。

i,s=1,0
while i<=100TY
    s=s+i
    i+=1          #python中不支持i++,++i
print '1+2+3+...+100= ',s

运行结果:
1+2+3+…+100=5050

3.while语句用于无限循环
当while语句的条件表达式永远为布尔真时,循环将永远不会结束,形成无限循环,也称死循环。大多数循环结构设计都应避免进入死循环,但是在某些场合,有意设置的无限循环是非常有用的。例如,一个手机程序将持续自动运行直到关机或者掉电,手机的主程序便是一个无限循环的结构。
格式:

while True:
    循环体

此时条件表达式的值恒为真,循环不会自动结束。为了使得循环能够结束,通常在循环体内嵌套if语句,判断当某个特定的条件成立时,就执行break语句退出循环。

print '请输入若干字符,当输入#时则结束该操作'
while True:
    a=raw_input('请输入一个字符:')
    if a !='#':
        print '您输入的字符是: ',a
    else:
        break

输出结果:
请输入若干字符,当输入#时则结束该操作
请输入一个字符:a
您输入的字符是:a
请输入一个字符:b
您输入的字符是:b
请输入一个字符:#

4.while语句应用举例
(1)级数求和
级数求和问题解决的关键是:观察表达式中的相邻两项,找出规律,将规律转化为若干通式。为了将复杂问题简单化,通项将每一项的分子、分母、符号、求和等通式分开处理,这样做的好处是利于查找问题。
(2)数据处理问题

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值