py4 程序流程控制

目錄

 

 

條件語句

Python程序語言指定任何非0和非空(null)值爲true,0 或者 null爲false。python

Python 編程中 if 語句用於控制程序的執行,基本形式爲:編程

if後面跟的判斷條件能夠是0 or 1 和 True or Falsemarkdown

if 判斷條件1:
    執行語句1……
elif 判斷條件2:
    執行語句2……
elif 判斷條件3:
    執行語句3……
else:
    執行語句4……
import getpass
  
name = raw_input('請輸入用戶名:')
pwd = getpass.getpass('請輸入密碼:')
  
if name == "alex" and pwd == "cmd":
    print("歡迎,alex!")
else:
    print("用戶名和密碼錯誤")
實例

 

循環語句

注意:循環的時候不能改變被迭代對象app

while循環

i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非雙數時跳過輸出
        continue
    print i         # 輸出雙數二、四、六、八、10
 
i = 1
while 1:            # 循環條件爲1一定成立
    print i         # 輸出1~10
    i += 1
    if i > 10:     # 當i大於10時跳出循環
        break


# while配合else的用法
# while … else 在循環條件爲 false 時執行 else 語句塊:
count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"
使用實例

for循環

主要用於循環次數肯定,或者遍歷時使用less

Python for循環能夠遍歷任何序列的項目,如一個列表或者一個字符串。ide

for letter in 'Python':     # 第一個實例
   print '當前字母 :', letter
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二個實例
   print '當前水果 :', fruit
 
print "Good bye!"

#for循環和else配合使用
#else 中的語句會在循環正常執行完(即 for 不是經過 break 跳出而中斷的)的狀況下執行,while … else 也是同樣。
for num in range(10,20):  # 迭代 10 到 20 之間的數字
   for i in range(2,num): # 根據因子迭代
      if num%i == 0:      # 肯定第一個因子
         j=num/i          # 計算第二個因子
         print '%d 等於 %d * %d' % (num,i,j)
         break            # 跳出當前循環
   else:                  # 循環的 else 部分
      print num, '是一個質數'
實例

 Python中for循環搭配else的陷阱post

假設有以下代碼:ui

for i in range(10): if i == 5: print 'found it! i = %s' % i else: print 'not found it ...'

你指望的結果是,當找到5時打印出:spa

found it! i = 5

實際上打印出來的結果爲:code

found it! i = 5 not found it ...

顯然這不是咱們指望的結果。

其實當迭代的對象迭代完併爲空時,位於else的子句將執行,而若是在for循環中含有break時則直接終止循環,並不會執行else子句。

因此正確的寫法應該爲:

for i in range(10): if i == 5: print 'found it! i = %s' % i break else: print 'not found it ...'

循環嵌套

for循環嵌套

for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

while循環嵌套

i = 2
while(i < 100):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : print i, " 是素數"
   i = i + 1

 

循環內語句

Python pass 語句

Python pass是空語句,是爲了保持程序結構的完整性。

pass 不作任何事情,通常用作佔位語句。

# 輸出 Python 的每一個字母
for letter in 'Python':
   if letter == 'h':
      pass
      print '這是 pass 塊'
   print '當前字母 :', letter

break語句

Python break語句,就像在C語言中,打破了最小封閉for或while循環。

break語句用來終止循環語句,即循環條件沒有False條件或者序列還沒被徹底遞歸完,也會中止執行循環語句。

break語句用在while和for循環中。

若是您使用嵌套循環,break語句將中止執行最深層的循環,並開始執行下一行代碼。 

for letter in 'Python':     # 第一個實例
   if letter == 'h':
      break
   print '當前字母 :', letter
  
var = 10                    # 第二個實例
while var > 0:              
   print '當前變量值 :', var
   var = var -1
   if var == 5:   # 當變量 var 等於 5 時退出循環
      break
 

continue語句

Python continue 語句跳出本次循環,而break跳出整個循環。

continue 語句用來告訴Python跳過當前循環的剩餘語句,而後繼續進行下一輪循環。

continue語句用在while和for循環中。

for letter in 'Python':     # 第一個實例
   if letter == 'h':
      continue
   print '當前字母 :', letter
 
var = 10                    # 第二個實例
while var > 0:              
   var = var -1
   if var == 5:
      continue
   print '當前變量值 :', var

 

其餘

enumrate
爲可迭代的對象添加序號
li = [11,22,33]
for k,v in enumerate(li, 1):
    print(k,v)
range和xrange
指定範圍,生成指定的數字
print range(1, 10)
# 結果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
 
print range(1, 10, 2)
# 結果:[1, 3, 5, 7, 9]
 
print range(30, 0, -2)
# 結果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2] 
相關文章
相關標籤/搜索