📜  Python while循环

📅  最后修改于: 2020-10-24 08:57:54             🧑  作者: Mango

Python While循环

Python while循环允许执行部分代码,直到给定条件返回false为止。也称为预测试循环。

可以将其视为重复的if语句。当我们不知道迭代次数时,使用while循环最有效。

语法如下。

while expression:  
    statements  

在这里,语句可以是单个语句或一组语句。该表达式应该是任何有效的Python表达式,结果为true或false。 true为任何非零值,false为0。

While循环流程图

示例1:使用while循环print1到10的程序

i=1
#The while loop will iterate until condition becomes false.
While(i<=10):  
    print(i) 
    i=i+1 

输出:

1
2
3
4
5
6
7
8
9
10

示例-2:程序print给定编号的表。

i=1  
number=0  
b=9  
number = int(input("Enter the number:"))  
while i<=10:  
    print("%d X %d = %d \n"%(number,i,number*i))  
    i = i+1  

输出:

Enter the number:10
10 X 1 = 10 

10 X 2 = 20 

10 X 3 = 30 

10 X 4 = 40 

10 X 5 = 50 

10 X 6 = 60 

10 X 7 = 70 

10 X 8 = 80 

10 X 9 = 90 

10 X 10 = 100 

无限while循环

如果在while循环中给出的条件永远不会为假,则while循环将永远不会终止,并且会变成无限的while循环。

while循环中的任何非零值都表示始终为真的条件,而零则表示始终为假的条件。如果我们希望程序在循环中连续运行而不会受到任何干扰,则这种类型的方法很有用。

例子1

while (1):  
    print("Hi! we are inside the infinite while loop")

输出:

Hi! we are inside the infinite while loop
Hi! we are inside the infinite while loop

例子2

var = 1  
while(var != 2):  
    i = int(input("Enter the number:"))  
    print("Entered value is %d"%(i))  

输出:

Enter the number:10
Entered value is 10
Enter the number:10
Entered value is 10
Enter the number:10
Entered value is 10
Infinite time

在while循环中使用else

Python允许我们在while循环中使用else语句。当while语句中给定的条件为false时,将执行else块。与for循环类似,如果使用break语句中断了while循环,则else块将不被执行,else块之后的语句将被执行。 else语句与while循环一起使用是可选的。考虑以下示例。

例子1

i=1 
while(i<=5):  
    print(i)  
    i=i+1  
else:
    print("The while loop exhausted")  

例子2

i=1  
while(i<=5):  
    print(i)  
    i=i+1  
    if(i==3):  
        break 
else:
    print("The while loop exhausted")

输出:

1
2

在上面的代码中,当遇到break语句时,while循环停止执行并跳过else语句。

示例3:将斐波那契数print到给定限制的程序

terms = int(input("Enter the terms "))
# first two intial terms
a = 0
b = 1
count = 0

# check if the number of terms is Zero or negative
if (terms <= 0):
   print("Please enter a valid integer")
elif (terms == 1):
   print("Fibonacci sequence upto",limit,":")
   print(a)
else:
   print("Fibonacci sequence:")
   while (count < terms) :
       print(a, end = ' ')
       c = a + b
       # updateing values
       a = b
       b = c
   
    count += 1

输出:

Enter the terms 10
Fibonacci sequence:
0 1 1 2 3 5 8 13 21 34