My python_寒假特訓_7_分支和循环_三元操作符_斷言_break_continue




如果沒有分支和循環


要做一個一百次列印就將會是一個災難



拿特訓 99 來探討




一個流程設計 大致上

=================================================

加載背景音樂
播放背景音樂(設置單曲循環)
我方戰鬥機產生

interval = 0  #定義一個變數 用來做飛機生成的間隔
# 螢幕上會出現一堆飛機圖案

while True:
if 用戶是否點擊關閉按鈕:
退出程序

interval += 1 #每執行一次累加一次

if interval == 50: #
interval = 0
小敵機產生

小敵機移動一個位置
屏幕刷新


if 用戶滑鼠產生移動:
我方戰鬥機中心位置 = 用戶滑鼠位置
屏幕刷新

if 我方戰鬥機與小敵機產生撞擊觸碰:
我方掛, 撥放撞到爆炸聲
修改我方戰鬥機狀態圖示
打印"Game Over"
停止背景音樂,淡出



=================================================



(一)python的分支



#成績分數劃分的特訓
#90分以上 A
#80~90    B
#60~80    C
#60~    D
#當老師輸入之後自動轉為分數等第


# score_method.1  單用if





python code


#成績分數劃分的特訓
#90分以上 A
#80~90    B
#60~80    C
#60~    D
#當老師輸入之後自動轉為分數等第


# score_method.1  暴力法(直接)


score = int(input('請輸入一個分數:'))
if 100 >= score >= 90:
    print('A')
if 90 >  score >= 80:
    print('B')
if 80 >  score >= 60:
    print('C')
if 60 >  score >= 0:
    print('D')
if score < 0 or score > 100:
    print('輸入有誤')
    




# score_method.2  else if 層狀結構




python code



#成績分數劃分的特訓
#90分以上 A
#80~90    B
#60~80    C
#60~    D
#當老師輸入之後自動轉為分數等第


# score_method.2  else if


score = int(input('請輸入一分數:'))

if 100 >= score >= 90:
    print('A')
else :
    if 90 > score >=80:
        print('B')
    else :
        if 80 > score >= 60:
            print('C')
        else :
            if 60 > score >= 0:
                print('D')
            else:
                print('輸入錯誤')




# score_method.3  elif    else if的簡寫合併 特殊python語法




python code

#成績分數劃分的特訓
#90分以上 A
#80~90    B
#60~80    C
#60~    D
#當老師輸入之後自動轉為分數等第


# score_method.3  elif


score = int(input('請輸入一分數:'))

if 100 >= score >= 90:
    print('A')
elif 90 > score >=80:
    print('B')
elif 80 > score >= 60:
    print('C')
elif 60 > score >= 0:
    print('D')
else:
    print('輸入錯誤')






python 可以避免   懸掛 else  的語法判讀烏龍

拿 C語言 來講



常常會誤以為 下方的else搭配的是外層的

但根據C語言的就近匹配原則

else會跟內層印出Well done 的if 相匹配



由於 python 是強調 縮進(TAB)的

因此 在 python 不會有 此 Bug  和 誤判等狀況發生




python的循環


while 條件:
    循環主體


for  目標 in 表達式
    循環主體










for 循環的夥伴   range()




break 迴圈循環的跳脫




python code

bingo = '小甲魚是帥哥'
answer = input('請輸入小甲魚最想聽到的一句話:')

while True:
    if answer == bingo:
        break
    answer = input('抱歉,錯了重新輸入,輸入到對了才可退出:')

print('答對了')
print('你真是我肚子裡的蛔蟲XDD')



有很多煩人軟體都無法退出
還會要求你安裝他家產品等等對話方框
像是XXX殺毒軟體
有點無賴做法

continue 


終止本輪循環並開始下一輪循環


縮短範圍到3(0~2)來看



當  if 條件符合  就執行 執行到 continue 會 自動跳至下一輪 循環


(二)python 的 三元操作符

縮減為在同一行


(三)python 的 Assert 斷言





留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題