python條件控制語句

2020-09-20 11:00:39

1.條件判斷語句(if語句)

  • 執⾏的流程:
  • if語句在執⾏時,會先對條件表示式進⾏求值判斷,
  • 如果為True,則執⾏if後的語句
  • 如果為False,則不執⾏
  • 語法:
if 條件表示式 :
    程式碼塊
  • 程式碼塊程式碼塊中儲存著⼀組程式碼,同⼀個程式碼塊中的程式碼,要麼都執⾏要麼都不執⾏
  • 程式碼塊以縮排開始,直到程式碼恢復到之前的縮排級別時結束
  • 程式碼塊就是⼀種為程式碼分組的機制

2.input() 函數

  • 該函數⽤來獲取⽤戶的輸⼊
  • input()調⽤後,程式會⽴即暫停,等待⽤戶輸⼊
  • ⽤戶輸⼊完內容以後,點選回⻋程式才會繼續向下執⾏
  • ⽤戶輸⼊完成以後,其所輸⼊的的內容會以返回值得形式返回

3. if-else語句

  • 語法:
if 條件表示式 :
     程式碼塊
else :
    程式碼塊
  • 執行流程
  • if-else語句在執⾏時,先對if後的條件表示式進⾏求值判斷
  • 如果為True,則執⾏if後的程式碼塊
  • 如果為False,則執⾏else後的程式碼塊)

4. if-elif-else 語句

  • 語法:
if 條件表示式 :
    程式碼塊
elif 條件表示式 :
    程式碼塊
elif 條件表示式 :
    程式碼塊
......
else :
    程式碼塊
  • 執行流程:
  • if-elif-else語句在執⾏時,會⾃上向下依次對條件表示式進⾏求值判斷,
  • 如果表示式的結果為True,則執⾏當前程式碼塊,然後語句結束
  • 如果表示式的結果為False,則繼續向下判斷,直到找到True為⽌
  • 如果所有的表示式都是False,則執⾏else後的程式碼塊
  • 總結: if-elif-else中只會有⼀個程式碼塊會執行

5.while語句

  • 迴圈語句可以使指定的程式碼塊重複指定的次數.迴圈語句分成兩種,while迴圈和 for迴圈
  • 語法:
while 條件表示式 :
    程式碼塊
else:
    程式碼塊
  • 執行流程
  • while語句在執⾏時,會先對while語句後⾯的條件表示式進⾏求值判斷
  • 如果判斷結果為True,則執⾏迴圈體的邏輯(程式碼塊)
  • 迴圈體執⾏完畢之後,繼續對條件表示式進⾏求值判斷,依此類推
  • 直到判斷結果為False

6.迴圈巢狀

  • Python允許在⼀個迴圈體⾥⾯嵌⼊另⼀個迴圈。
  • 語法:
while 表示式:
    while 表示式:
        程式碼塊
    程式碼塊
for 變數 in 迴圈規則:
    for 變數 in 迴圈規則:
        程式碼塊
    程式碼塊

7.break和continue

  • break 可以⽤來⽴即退出迴圈語句,包括else語句
  • continue ⽤來跳過當初回圈

作業

1.求1000以內所有的⽔仙花數

# ⽔仙花數:如果⼀個3位數位的每⼀位的⽴⽅和與這個數位相同,這個數位就是⽔仙花數
def narcissistic_number():
    i = 100
    while i < 1000:
        if (i // 100) ** 3 + ((i // 10) % 10) ** 3 + (i % 10) ** 3 == i:
            print(i, end=' ')
        i += 1
        
narcissistic_number()

在這裡插入圖片描述
2.獲取⽤戶輸⼊的任意數,判斷其是否是質數?

# 公用完全正確的命題是:要判定正整數a是否是質數,需要用小於根號a的所有質數試除,如果都不能整除,則正整數a是質數
# 質數大於等於2且不能被它本身和1以外的數整除
from math import sqrt

def is_prime_number(n):
    if n < 2:
        return False
    for i in range(2, int(sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True
    
while True:
    a = float(input('輸入一個數:'))
    if is_prime_number(a):
        print('這是一個質數')
    else:
        print('這不是一個質數')

在這裡插入圖片描述