流控无非就是ifelse这样的控制语句。今天我们就来看看Python中的流控制有什么不同。while语句python中的while语句与其他语言没有什么不同。我使用while语句编写斐波那契数列:In[56]:whilex<10:...:print(x)...:x,y=y,x+y...:0112358if语句if在python中可以与elif一起使用,否则:>>>x=int(input("Pleaseenteraninteger:"))Pleaseenteraninteger:42>>>ifx<0:...x=0...print('Negativechangedtozero')...elifx==0:...print('Zero')...elifx==1:...print('Single')...else:...print('More')...Moreif语句很简单,这里就不过多介绍了。for语句Python中的for语句主要用于迭代序列,例如列表或字符串:In[57]:ages=[10,14,18,20,25]In[58]:forageinages:...:print(age)...:1014182025在遍历过程中,为了防止原始序列在遍历过程中被修改,我们可以遍历序列的副本:In[59]:forageinages.copy():...:print(age)...:1014182025for语句和range()函数的组合可以得到不同的效果。range()用于生成给定范围内的集合:In[61]:forageinrange(5):...:print(age)...:01234range()函数也可以走这一步size作为第三个参数:In[62]:forageinrange(5,10,2):...:print(age)...:579Range()和len()的组合,方便的变量列表:>>>a=['Mary','had','a','little','lamb']>>>foriinrange(len(a)):...print(i,a[i])...0Mary1had2a3little4lambBreakbreak用于跳出最近的for或while循环。注意for循环可以和else一起使用:In[64]:forninrange(2,10):...:forxinrange(2,n):...:ifn%x==0:...:print(n,'equals',x,'*',n//x)...:break...:else:...:print(n,'是质数')...:2是质数3是质数4等于2*25是质数6等于2*37是质数8等于2*49等于3*3循环中的else语句会在for循环中执行完成,然后执行。如果我们用break来打断for循环,那么else语句就不会执行了。Continuecontinue用于跳过本次循环的后半部分,继续执行下一次循环。还是之前的例子,我们继续修改:In[68]:forninrange(2,10):...:forxinrange(2,n):...:ifn%x==0:...:print(n,'equals',x,'*',n//x)...:continue...:else:...:print(n,'isaprimenumber')...:2是质数3是质数4等于2*24是质数5是质数6等于2*36等于3*26是质数7是质数8等于2*48等于4*28是一个素数9等于3*39是一个素数可以看出在continue中,else语句会一直执行。passpass意思是什么都不做。是一个空的实现。通常我们使用pass作为函数或者条件子语句的占位符,表示以后可以填充具体的内容。您可以在while中使用pass:>>>whileTrue:...pass#Busy-waitforkeyboardinterrupt(Ctrl+C)...您可以在类中使用pass:>>>classMyEmptyClass:...pass。..可以在函数中使用pass:>>>definitlog(*args):...pass#记得实现这个!...本文已收录在http://www.flydean.com/04-python-condition-control/最通俗的解读,最深刻的干货,最简洁的教程,很多你不知道的小技巧等你来发现!欢迎关注我的公众号:《程序那些事儿》,懂技术,更懂你!
