pyton 的while循环

回复 收藏
只要在一个条件为真的情况下,while语句允许你重复执行一块语句。while语句是所谓 循环 语句的一个例子。while语句有一个可选的else从句。
  1. #!/usr/bin/python
  2. # Filename: while.py
  3. number = 23
  4. running = True
  5. while running:
  6.     guess = int(raw_input('Enter an integer : '))
  7.     if guess == number:
  8.         print 'Congratulations, you guessed it.'
  9.         running = False # this causes the while loop to stop
  10.     elif guess < number:
  11.         print 'No, it is a little higher than that'
  12.     else:
  13.         print 'No, it is a little lower than that'
  14. else:
  15.     print 'The while loop is over.'
  16.     # Do anything else you want to do here
  17. print 'Done'
输出
  1. $ python while.py
  2. Enter an integer : 50
  3. No, it is a little lower than that.
  4. Enter an integer : 22
  5. No, it is a little higher than that.
  6. Enter an integer : 23
  7. Congratulations, you guessed it.
  8. The while loop is over.
  9. Done
它如何工作
在这个程序中,我们仍然使用了猜数游戏作为例子,但是这个例子的优势在于用户可以不断的猜数,直到他猜对为止——这样就不需要像前面那个例子那样为每次猜测重复执行一遍程序。这个例子恰当地说明了while语句的使用。

我们把raw_input和if语句移到了while循环内,并且在while循环开始前把running变量设置为True。首先,我们检验变量running是否为True,然后执行后面的 while-块 。在执行了这块程序之后,再次检验条件,在这个例子中,条件是running变量。如果它是真的,我们再次执行while-块,否则,我们继续执行可选的else-块,并接着执行下一个语句。

当while循环条件变为False的时候,else块才被执行——这甚至也可能是在条件第一次被检验的时候。如果while循环有一个else从句,它将始终被执行,除非你的while循环将永远循环下去不会结束!

True和False被称为布尔类型。你可以分别把它们等效地理解为值1和0。在检验重要条件的时候,布尔类型十分重要,它们并不是真实的值1。

else块事实上是多余的,因为你可以把其中的语句放在同一块(与while相同)中,跟在while语句之后,这样可以取得相同的效果。

下一篇  pyton的for循环
2011-04-01 20:08 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: