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