循环与分支——python

系统 1586 0

循环结构
程序设计中,最能发挥计算机特长的结构:循环结构
需要重复进行某种运算,并且运算对象有规律变化的情况,使用循环结构

使用for n in range(2,10)时,不包括10

python中不支持直到型循环结构(后测循环实现)
循环与分支——python_第1张图片 但可以通过while语句间接实现:

            
              number = -1
while	number < 0 
	number = eval(input("Enter a positive number:"))

            
          

或者

            
              while True:
	number = eval(input("Enter  a positive number:"))
	if x >= 0 : break;
	#若数字有效跳出循环,哨兵循环
	print("The number you entered was not positive")

            
          

注意:与Java、C区别最大的地方
语句与循环的搭配使用,else:后的表达式在for循环列表遍历完毕后或while 条件语句不满足的情况下执行,

            
              # months.py
def main():
	for n in range(2,10):
    	for x in range(2,n):
        	print("({},{})\t".format(n,x))
        	if n%x == 0:
            	print(n,'equals',x,'*',n//x)
            	break;
    	else:
        	# loop fell through without finding a factor
        	print(n,'is a prime number')
main()

            
          

输出:
2 is a prime number
(3,2)
3 is a prime number
(4,2)
4 equals 2 * 2
(5,2)
(5,3)
(5,4)
5 is a prime number
(6,2)
6 equals 2 * 3
(7,2)
(7,3)
(7,4)
(7,5)
(7,6)
7 is a prime number
(8,2)
8 equals 2 * 4
(9,2)
(9,3)
9 equals 3 * 3

分支结构

            
              if
              
                :
	
                
                  
elif 
                  
                    :
	
                    
                      
……
else:
	
                      
                      
                    
                  
                
              
            
          

条件判断
循环和分支使用的条件循环语句这里使用的不是!、||、&&,而是布尔表达式not、or、and
布尔表达式满足或对与、与对或的分配律,满足德摩根定理

有时候寻找一个循环终止的条件比寻找一个循环继续的条件更容易,但是条件过于复杂,解决方法:
对布尔表达式使用几次德摩根定律

注意不要将while rep==‘y’ or rep==‘Y’, 错写成 while rep == ‘y’ or ‘Y’, 因为’Y’是一个非空串,永远为真

对于数字的0值默认为假,对于空字符串""默认为假,空序列默认为假。

python的布尔运算符为短路运算符,当前面的表达式已经可以得出该布尔表达式的真假时,布尔表达式便不再进行下去。
即x and y中,当x为假,则不在计算y的真假;
x or y中,当x为真,就不在判断y的真假。

举个栗子,当用户仅敲下回车键时,input()函数读入的串为空串,下面写一个函数,当用户输入为空时,将字符串赋值为vanilla

实现方法一:

            
              ans = input("What flavor do you want [vanilla]:")
if ans :
	flavor = ans
else:
	flavor = "vanilla"

            
          

实现方法二:
ans = input(“What flavor do you want [vanilla]:”)
flavor = ans or “vanilla”

            
              flavor=  input("What flavor do you want [vanilla]:") or "vanilla"

            
          

异常处理
当处理错误或特殊情况的分支语句过多,会导致 主程序 变得不 清晰易读 ,于是,引入异常处理机制来解决程序运行时的错误。

Python解释器遇到一个try语句,它会尝试执行try语句体内的语句
如果没有错误,控制转到try-except后面的语句
如果发生错误,Python解释器会寻找一个符合该错误的异常语句,然后执行处理代码

            
              try:
	
except 
              
                :
	
                
                  
except 
                  
                    :
	
                    
                      
except 
                      
                        :
	
                        
                          
except:
	
                          
                          
                        
                      
                    
                  
                
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论