📅  最后修改于: 2020-10-24 08:57:54             🧑  作者: Mango
Python while循环允许执行部分代码,直到给定条件返回false为止。也称为预测试循环。
可以将其视为重复的if语句。当我们不知道迭代次数时,使用while循环最有效。
语法如下。
while expression:
statements
在这里,语句可以是单个语句或一组语句。该表达式应该是任何有效的Python表达式,结果为true或false。 true为任何非零值,false为0。
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
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):
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
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
Python允许我们在while循环中使用else语句。当while语句中给定的条件为false时,将执行else块。与for循环类似,如果使用break语句中断了while循环,则else块将不被执行,else块之后的语句将被执行。 else语句与while循环一起使用是可选的。考虑以下示例。
i=1
while(i<=5):
print(i)
i=i+1
else:
print("The while loop exhausted")
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语句。
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