位置:首頁 > 腳本語言 > Python教學 > Python while循環語句

Python while循環語句

while循環語句在Python編程語言中,隻要給定的條件為真時重複執行的目標語句。

語法:

在Python編程語言中while循環的語法是:

while expression:
   statement(s)

在這裡,語句可以是單一語句或語句塊。該條件可以是任何表達式,並且真正是任意非零值。循環迭代當條件為true。

當條件為假,則程序控製轉到緊接在循環之後的一行。

在Python中,所有的程序代碼結構通過縮進字符空格相同數量的語句被認為是一個單一的代碼塊的一部分。 Python使用縮進作為分組語句的方法。

流程圖:

while loop in Python

Here, key yiibai of the while loop is that the loop might not ever run. When the condition is tested and the result is false, the loop body will be skipped and the first statement after the while loop will be executed.

例子:

#!/usr/bin/python

count = 0
while (count < 9):
   print 'The count is:', count
   count = count + 1

print "Good bye!"

When the above code is executed, it produces the following result:

The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
Good bye!

The block here, consisting of the print and increment statements, is executed repeatedly until count is no longer less than 9. With each iteration, the current value of the index count is displayed and then increased by 1.

The Infinite Loop:

A loop becomes infinite loop if a condition never becomes false. You must use caution when using while loops because of the possibility that this condition never resolves to a false value. This results in a loop that never ends. Such a loop is called an infinite loop.

An infinite loop might be useful in client/server programming where the server needs to run continuously so that client programs can communicate with it as and when required.

#!/usr/bin/python

var = 1
while var == 1 :  # This constructs an infinite loop
   num = raw_input("Enter a number  :")
   print "You entered: ", num

print "Good bye!"

When the above code is executed, it produces the following result:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
  File "test.py", line 5, in <module>
    num = raw_input("Enter a number :")
KeyboardInterrupt

Above example will go in an infite loop and you would need to use CTRL+C to come out of the program.

The else Statement Used with Loops

Python supports to have an else statement associated with a loop statement.

  • If the else statement is used with a for loop, the else statement is executed when the loop has exhausted iterating the list.

  • If the else statement is used with a while loop, the else statement is executed when the condition becomes false.

The following example illustrates the combination of an else statement with a while statement that prints a number as long as it is less than 5, otherwise else statement gets executed.

#!/usr/bin/python

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

When the above code is executed, it produces the following result:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

Single Statement Suites:

Similar to the if statement syntax, if your while clause consists only of a single statement, it may be placed on the same line as the while header.

Here is the syntax and example of a one-line while clause:

#!/usr/bin/python

flag = 1

while (flag): print 'Given flag is really true!'

print "Good bye!"

Its better not try above example because it will go into infinite loop and you will have to use CTRL+C keys to come out.