11-循环语句
while循环
python中while语句的一般形式:
while expression:
statement(s)
需要注意的是:
在Python中没有do..while循环。
无限循环
如果条件从不变为FALSE,则循环变为无限循环。
var = 1
while var == 1: # 表达式永远为 true
num = int(input("输入一个数字 :"))
print("你输入的数字是: ", num)
print("Good bye!")
执行结果:
输入一个数字 :9
你输入的数字是: 9
输入一个数字 :9
你输入的数字是: 9
输入一个数字 :9
你输入的数字是: 9
输入一个数字 :9
你输入的数字是: 9
输入一个数字 :
在while循环中使用else语句
如果else语句与while循环一起使用,则在条件变为false时执行else语句。
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
执行结果:
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
语句组
如果while子句只包含一个语句,那么它可能被放在与while头相同的行上。
flag = 1
while (flag): print('hello,world!')
for循环
python中的for语句能够遍历任何序列的项目,基本语法:
for iterating_var in sequence:
statements(s)
for循环中使用else语句
如果else语句与for循环一起使用,则只有在for循环正常终止(而不是遇到break语句)时才执行else块。
搜索列表中的偶数的用法:
numbers = [11,33,55,31,55,75,65,21,23,97,13]
for num in numbers:
if num%2 == 0:
print ('the list contains an even number')
break
else:
print ('the list doesnot contain even number')
执行结果:
the list doesnot contain even number
range()函数
内置的函数range()是对一系列数字进行迭代的函数。
for i in range(5):
print(i)
你也可以使用range指定区间的值:
for i in range(5,9) :
print(i)
也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
for i in range(0, 10, 3):
print(i)
还可以使用range()函数来创建一个列表:
L = list(range(5))
print(L)
执行结果:
[0, 1, 2, 3, 4]
嵌套循环
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
while expression:
while expression:
statement(s)
statement(s)
以将任何类型的循环放在任何其他类型的循环中。 例如,for循环可以在while循环或for循环内,反之亦然。
循环控制语句
break
- break语句用于提前终止当前循环。放弃循环后,直接执行循环块下一个语句。
- break语句可以在while和for循环中使用。
- 如果使用嵌套循环,则break语句将停止执行最内层循环,并在块之后开始执行代码的下一行。
for letter in 'Python':
if letter == 'h':
break
print ('Current Letter :', letter)
var = 10
while var > 0:
print ('Current variable value :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
执行结果:
Current Letter : P
Current Letter : y
Current Letter : t
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Good bye!
continue
- continue语句将控制返回到当前循环的开头。当遇到continue语句时,循环将不执行当前迭代中剩余的语句,而直接下一次迭代开始。
- continue语句可以在while和for循环中使用。
for letter in 'Python':
if letter == 'h':
continue
print ('Current Letter :', letter)
var = 10
while var > 0:
print ('Current variable value :', var)
var = var -1
if var == 5:
continue
print ("Good bye!")
执行结果:
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : o
Current Letter : n
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
Current variable value : 5
Current variable value : 4
Current variable value : 3
Current variable value : 2
Current variable value : 1
Good bye!
pass
- 当因为语法需要但不希望执行任何命令或代码时,则可以使用pass语句。
- pass语句是一个空操作; 执行时没有任何反应。
- pass语句对于代码最终会出现但现在不用写入,即存根的地方也很有用。
for letter in 'Python':
if letter == 'h':
pass
print ('This is pass block')
print ('Current Letter :', letter)
print ("Good bye!")
执行结果:
Current Letter : P
Current Letter : y
Current Letter : t
This is pass block
Current Letter : h
Current Letter : o
Current Letter : n
Good bye!