Python中for循环和while循环的基本使用方法

yipeiwu_com6年前Python基础

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块。

相关文章

利用Python半自动化生成Nessus报告的方法

利用Python半自动化生成Nessus报告的方法

0x01 前言 Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到注册号了,对应商业用户是收费的。当然,个人用...

NumPy统计函数的实现方法

numpy.amin()和numpy.amax()numpy.amin()用于计算数组中元素沿着指定轴的最小值。numpy.amax()用于计算数组中元素沿着指定轴的最大值a=np.arr...

wxpython中利用线程防止假死的实现方法

wxpython中利用线程防止假死的实现方法

前段时间我编写了一个工业控制的软件,在使用中一直存在一个问题,就是当软件检索设备时,因为这个功能执行的时间比较长,导致GUI界面假死,让用户分辨不清楚软件到底仍在执行,还是真的挂掉了。(...

在Python的Flask框架中实现全文搜索功能

 全文检索引擎入门 灰常不幸的是,关系型数据库对全文检索的支持没有被标准化。不同的数据库通过它们自己的方式来实现全文检索,而且SQLAlchemy在全文检索上也没有提供一个好的...

Python网页解析利器BeautifulSoup安装使用介绍

Python网页解析利器BeautifulSoup安装使用介绍

python解析网页,无出BeautifulSoup左右,此是序言 安装 BeautifulSoup4以后的安装需要用eazy_install,如果不需要最新的功能,安装版本3就够了,千...