- 執⾏的流程:
- if語句在執⾏時,會先對條件表示式進⾏求值判斷,
- 如果為True,則執⾏if後的語句
- 如果為False,則不執⾏
- 語法:
if 條件表示式 :
程式碼塊
- 程式碼塊程式碼塊中儲存著⼀組程式碼,同⼀個程式碼塊中的程式碼,要麼都執⾏要麼都不執⾏
- 程式碼塊以縮排開始,直到程式碼恢復到之前的縮排級別時結束
- 程式碼塊就是⼀種為程式碼分組的機制
- 該函數⽤來獲取⽤戶的輸⼊
- input()調⽤後,程式會⽴即暫停,等待⽤戶輸⼊
- ⽤戶輸⼊完內容以後,點選回⻋程式才會繼續向下執⾏
- ⽤戶輸⼊完成以後,其所輸⼊的的內容會以返回值得形式返回
- 語法:
if 條件表示式 :
程式碼塊
else :
程式碼塊
- 執行流程
- if-else語句在執⾏時,先對if後的條件表示式進⾏求值判斷
- 如果為True,則執⾏if後的程式碼塊
- 如果為False,則執⾏else後的程式碼塊)
- 語法:
if 條件表示式 :
程式碼塊
elif 條件表示式 :
程式碼塊
elif 條件表示式 :
程式碼塊
......
else :
程式碼塊
- 執行流程:
- if-elif-else語句在執⾏時,會⾃上向下依次對條件表示式進⾏求值判斷,
- 如果表示式的結果為True,則執⾏當前程式碼塊,然後語句結束
- 如果表示式的結果為False,則繼續向下判斷,直到找到True為⽌
- 如果所有的表示式都是False,則執⾏else後的程式碼塊
- 總結: if-elif-else中只會有⼀個程式碼塊會執行
- 迴圈語句可以使指定的程式碼塊重複指定的次數.迴圈語句分成兩種,while迴圈和 for迴圈
- 語法:
while 條件表示式 :
程式碼塊
else:
程式碼塊
- 執行流程
- while語句在執⾏時,會先對while語句後⾯的條件表示式進⾏求值判斷
- 如果判斷結果為True,則執⾏迴圈體的邏輯(程式碼塊)
- 迴圈體執⾏完畢之後,繼續對條件表示式進⾏求值判斷,依此類推
- 直到判斷結果為False
- Python允許在⼀個迴圈體⾥⾯嵌⼊另⼀個迴圈。
- 語法:
while 表示式:
while 表示式:
程式碼塊
程式碼塊
for 變數 in 迴圈規則:
for 變數 in 迴圈規則:
程式碼塊
程式碼塊
- 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('這不是一個質數')