天天看點

python學習日記【05 - 條件控制語句】條件判斷語句(if語句)input() 函數if-else語句if-elif-else 語句while語句循環嵌套break和continue課後作業

條件控制語句

  • 條件判斷語句(if語句)
  • input() 函數
  • if-else語句
  • if-elif-else 語句
  • while語句
  • 循環嵌套
  • break和continue
  • 課後作業
    • (1)求1000以内所有的水仙花數
      • 水仙花數解釋
      • 代碼
      • 運作截圖
    • (2)擷取使用者輸入的任意數,判斷其是否是質數?
      • 質數解釋:
      • 代碼

條件判斷語句(if語句)

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

input() 函數

  • 該函數用來擷取使用者的輸入
  • input()調用後,程式會立即暫停,等待使用者輸入
  • 使用者輸入完内容以後,點選回車程式才會繼續向下執行
  • 使用者輸入完成以後,其所輸入的的内容會以傳回值得形式傳回

if-else語句

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

if-elif-else 語句

  • 文法:
if 條件表達式 :
      代碼塊
  elif 條件表達式 :
      代碼塊
  elif 條件表達式 :
      代碼塊
           
  • 執行流程:
    • if-elif-else語句在執行時,會自上向下依次對條件表達式進行求值判斷
    • 如果表達式的結果為True,則執行目前代碼塊,然後語句結束
    • 如果表達式的結果為False,則繼續向下判斷,直到找到True為止
    • 如果所有的表達式都是False,則執行else後的代碼塊

while語句

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

循環嵌套

  • 文法:
while 表達式:
   while 表達式:
      代碼塊
   代碼塊

for 變量 in 循環規則:
   for 變量 in 循環規則:
       代碼塊
   代碼塊
           

break和continue

  • break 可以用來立即退出循環語句,包括else語句
  • continue 用來跳過當初循環

課後作業

(1)求1000以内所有的水仙花數

水仙花數解釋

  • 水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自幂數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),水仙花數是指一個 3 位數,它的每個位上的數字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

代碼

for i in range(100,1000):
    if (i%10)**3+(i//10%10)**3+(i//100)**3 == i:
        print(i)
           

運作截圖

python學習日記【05 - 條件控制語句】條件判斷語句(if語句)input() 函數if-else語句if-elif-else 語句while語句循環嵌套break和continue課後作業

(2)擷取使用者輸入的任意數,判斷其是否是質數?

質數解釋:

  • 質數又稱素數。指在一個大于1的自然數 中,除了1和此整數自身外,沒法被其他自 然數整除的數。換句話說,隻有兩個正因 數(1和自己)的自然數即為素數。比1大 但不是素數的數稱為合數。1和0既非素 數也非合數

代碼

while True:
    print('-'*30)
    num = input('請輸入一個整數(輸入Q退出):')
    # 輸入Q或者q退出程式
    if num == 'Q' or num == 'q':
    	break
    # 不是數字則跳過
    if not num.isdigit():
        print('隻能輸入整數呀親!!!')
        continue
    num = int(num)
    # 判斷是否為質數
    if num > 1:
        for i in range(2,num):
            if num%i == 0:
                break
        else:
            print(f'恭喜找到了!!{num}為質數!')
            continue
    print(f'您輸入的:{num},不為質數!')
print('88了,期待下次再見!')
           
python學習日記【05 - 條件控制語句】條件判斷語句(if語句)input() 函數if-else語句if-elif-else 語句while語句循環嵌套break和continue課後作業