python學習中的流程控制

  • 流程控制
    1. 概念:在程序設計中,我們根據需求所編寫的程序會遵從一定的業務邏輯(功能實現的思路和體現),比如判斷登錄狀態,查找某個學生的信息等。流程控制指的是代碼運行邏輯,分支走向,循環控制,是真正體現程序執行順序的操作。流程控制可分爲順序執行,條件判斷和循環控制。
    2. 僞代碼:是一種算法描述語言,通俗的講就是使用中文將程序寫出來。
      1. 作用:使被描述的算法或者邏輯可以容易的以任何一種編程語言實現。僞代碼必須結構清晰,代碼簡單,可讀性好,並且類似自然語言。
      2. Test:

 

輸入一個變量age

將輸入字符串轉換爲數字

(條件判斷:)

如果age大於等於18:

打印“成人”

如果age小於18,又分兩種情況:

如果age大於等於12:

打印“少年”

如果age小於12:

打印“兒童”

 

  • 順序執行
    1. 概念:程序代碼從上之下順序執行
    2. Test:

if __name__ == '__main__':

name=input("enter your name:)

print(your name is %s%name)

    1. If __name__==’__main__’:__name__是所有模塊(某個類的源文件)都會有的一個內置屬性,一個模塊的__name__值取決於如何調用該模塊。假設有一個test.py文件,如果在a.py中使用import導入了test模塊,則test模塊的__name__屬性值就是test。如果該模塊被直接執行python test.py則該模塊的__name__屬性值就是一個特別的缺省值__main__ 。所以根據該特性如果判斷__name__==__main__的話則if下面的代碼就會被執行。類似於main函數的感覺。

 

  • 條件判斷
    1. 概念:條件判斷是通過一條或者多條語句執行的結果(True或False)來決定執行的代碼塊。使用if,elif和else三個關鍵字來進行條件判斷。
    2. 語法格式:
      1. 單if判斷:

if condition_1:

statement_block_1

      1. 單分支:

if condition_1:

statement_block_1

else

statement_block_2

      1. 多分支:

if condition_1:

statement_block_1

elif condition_2:

statement_block_2

else:

statement_block_3

      1. 嵌套:

var = 100

if var < 200:

print("比200小!")

if var == 150:

print('這是150')

elif var == 100:

print('這是100')

elif var == 50:

print('這是50')

elif var < 50:

print("比50小!")

else:

print("無法判斷正確的值!")

 

print("Good bye!")

 

  • 循環控制
    1. for和while循環
    2. while循環:
      1. 語法格式:

while 判斷表達式:

內部代碼塊

 

      1. 死循環while(True)
      2. While的else從句:當while正常循環完畢之後會執行else語句。如果被break等機制強制提前終止循環不會執行else語句。
        1. Test:

number = 10

i = 0

while i < number:

print(i)

i += 1

if i == 7:

break

else:

print("執行完畢!")

 

    1. For循環:
      1. 語法結構:

for <variable> in <sequence>:

<statements>

      1. Test:

 

sum = 0

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum = sum + x

print(sum)

 

      1. For也可以使用else子句
    1. 循環嵌套:while和for都可以嵌套,但是建議不要嵌套3層以上,那樣效率會很低。
      1. Test:

# 這是一個判斷質數的程序

for n in range(2, 100):

for x in range(2, n):

if n % x == 0:

print(n, '等於', x, '*', n//x)

break

else:

# 循環中沒有找到元素

print(n, ' 是質數')

    1. break
    2. continue
    3. python中沒有goto

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章