In [56]: whilex<10:...:print(x)...:x,y=y,x+y...:0112358
if 语句
python中的 if 可以和 elif 或者 else 配合使用:
>>> x=int(input("Please enter an integer: "))Pleaseenteraninteger:42>>> ifx<0:...x=0...print('Negative changed to zero')...elifx==0:...print('Zero')...elifx==1:...print('Single')...else:...print('More')...More
if语句很简单,这里就不做过多的介绍。
for语句
Python中的for语句主要用来对序列进行迭代,比如列表或者字符串:
In [57]: ages = [ 10, 14, 18, 20 ,25]In [58]: for age inages:...:print(age)...:1014182025
遍历过程中,为了防止在遍历的时候原序列被修改,我们可以遍历序列的拷贝:
In [59]: for age inages.copy():...:print(age)...:1014182025
for语句和range()函数的结合,可以得到不一样的效果。
range()用来生成给定范围内的集合:
In [61]: for age inrange(5):...:print(age)...:01234
range()函数还可以带步长作为第三个参数:
In [62]: for age inrange(5,10,2):...:print(age)...:579
Range()和len()组合,可以方便的变量列表:
>>> a= ['Mary', 'had','a','little','lamb']>>> for i inrange(len(a)):...print(i,a[i])...0Mary1had2a3little4lamb
Break
break用来跳出最近的for或者while循环。
要注意的是,for循环可以和else一起使用:
In [64]: for n inrange(2,10):...:forxinrange(2,n):...:ifn%x==0:...:print(n,'equals',x,'*',n//x)...:break...:else:...:print(n,'is a prime number')...:2isaprimenumber3isaprimenumber4equals2*25isaprimenumber6equals2*37isaprimenumber8equals2*49equals3*3
In [68]: for n inrange(2,10):...:forxinrange(2,n):...:ifn%x==0:...:print(n,'equals',x,'*',n//x)...:continue...:else:...:print(n,'is a prime number')...:2isaprimenumber3isaprimenumber4equals2*24isaprimenumber5isaprimenumber6equals2*36equals3*26isaprimenumber7isaprimenumber8equals2*48equals4*28isaprimenumber9equals3*39isaprimenumber
可以看到,在continue中,else语句会一直执行。
pass
pass表示的是什么都不做。是一个空的执行。
通常我们使用pass作为函数或条件子语句的占位符,表示具体的内容可以在未来进行填充。
可以在while中使用pass:
>>> whileTrue:...pass# Busy-wait for keyboard interrupt (Ctrl+C)...
可以在类中使用pass:
>>> classMyEmptyClass:...pass...
可以在函数中使用pass:
>>> definitlog(*args):...pass# Remember to implement this!...