while循环:
while expression:
suite_to_repeat
while 条件:
语句块
不需要括号哦!
>>> x
1.2
>>> while x < 2:
print(x)
x += 0.2
1.2
1.4
1.5999999999999999
1.7999999999999998
1.9999999999999998
>>>
经常用 :
while true:
….
if … :
break
….
for循环:
for iter_var in iterable:
suite_to_repeat
for循环访问可迭代对象iterable的所有元素,iter_var被设置为可迭代对象的当前元素。for循环可用于序列类型,包括字符串、列表及元组,也可用于迭代器类型,迭代器对象有一个next()方法,调用后返回下一个条目,所有条目迭代完成后,迭代器引发一个stopiteration异常告诉程序循环结束,for语句在内部调用next()并捕获异常。
for something in xxxx:
语句块
即表示对xxxx中的每一个元素,执行某些语句块,xxxx可以是列表,字典,元组,迭代器等等。
>>> for x in range(0,10):
print(x*x)
0
1
4
9
16
25
36
49
64
81
这是 for..else…语句
仅在没有 break 的情况下执行,或者说,只要你没有 break,它就会执行
>>> for n in range(99,81,-1):
root = sqrt(n)
if root == int(root):
print (n)
break
else:
print (“i didn’t fint it”)
i didn’t fint it
但你应该尽可能使用列表推导式,因为它更方便,清晰
>>> [x*x for x in range(1,5)]
[1, 4, 9, 16]
>>> [x**2 for x in range(1,10) if x % 2 ==0]
[4, 16, 36, 64]
>>> [(x,y) for x in range(1,3) for y in range(4,6)]
[(1, 4), (1, 5), (2, 4), (2, 5)]
break、continue、pass:
break语句结束当前循环,跳转到下条语句。continue语句终止当前循环,尝试下一次迭代。pass语句表示不做任何事情。
循环中的else:
在循环中也可以有else,这与c/c++不同,else字句只在循环完成后执行,也就是说break语句会跳过else块。