iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0

判斷式、迴圈、集合、迴圈控制

if 判斷式

if 布林值(True | False ):
    若布林值為True,執行命令

if-else 判斷式

if 布林值(True | False ):
    若布林值為True,執行命令
else:
    若布林值為False,執行命令

if-elif..else 判斷式

if 布林值一:
    若布林值為True,執行命令
elif 布林值二:
    若布林值二為,執行命令
else:
    若布林值一和二都False,執行命令

小範例1:

x=input("請輸入數字:")
x=int(x)
if x>200:
    print("大於 200")
elif x>100:
    print("大於 100,小於200")
else:
    print("小於 100")

範例2:
題目:小算盤

答案:

while True:
    n1=int(input("請輸入數字一:"))
    n2=int(input("請輸入數字二:"))
    operate=input("輸入運算符號:")
    result=0

    if operate=='+':
        result=n1+n2
        print(n1,'+',n2,'=',result)
    elif operate=='-':
        result=n1-n2
        print(n1,'-',n2,'=',result)
    elif operate=='*':
        result=n1*n2
        print(n1,'*',n2,'=',result)
    elif operate=='/':
        result=n1/n2
        print(n1,'/',n2,'=',result)
    else:
        print("你搞啥阿!")

while迴圈

基本語法 :

while 布林值:
    若布林值為True,執行命令回到上方,下一次的迴圈判斷

範例程式 :

n=1
while n<5:
    print("變數n的資料是: ",n)    #每跑一次while迴圈,就print一次
    n+=1                        #n=n+1

for迴圈

基本語法 :

for 變數名稱 in 列表或字串:
    將列表中的項目或字串中的字元逐一取出,逐一處理

範例程式1 :

for x in [4,2,1]:
    print("逐一取得列表中的資料",x) 

結果為何呢?先猜猜看


結果會依序從列表中把值取出來

那...把list改為Tuple可行嗎?(怎麼改先自己想想看喔)
當然可以!因為list、Tuple、dictionary都是列表的一種

範例程式2 :

for c in "Hello":
    print("逐一取得字串中的字元",c)

輸出結果是?

使用 range()

for 變數名稱 in range(3):
    
#相當於
for 變數名稱 in [0,1,2]:
 
for x in range(5,10):
    print(x)

猜一下答案是什麼吧~

迴圈搭配的指令

break 和 continue

強制結束迴圈break :

使用語法

while 布林值:
    break

for 變數名稱 in 列表或字串:
    break

break 就是拿來中止回圈用的

範例程式1 :

我們來看一下兩個程式的差別

n=1
while n<5:
    if n==3:
        break
    n+=1
print(n)
n=1
while n<5:
    if n==3:
        break
    n+=1
    print(n)

他們差在哪?

上面的Code只會顯示3是因為n=3,離開迴圈並顯示n的值
下面的Code只會顯示2、3因為print包再回圈內
這個小地方很重要喔

強制執行下一圈 continue

使用語法

while 布林值:
    continue
    
#-----又或者是----------
for 變數名稱 in 列表或字串:
    continue

範例程式

n=0
for x in [0,1,2,3]:
    if x%2==0:
        continue
    n+=1
print(n)

猜猜看結果是甚麼?

結果會是2,因為1、3不是偶數,不會進入if的判斷式

else

使用語法

while 布林值:
    若布林值為 True, 執行命令
    回到上方,做下一次的迴圈判斷
else:
    迴圈結束前,執行此區塊的命令

#-----------又或者是-----------

for 變數名稱 in 列表或字串:
    將列表中的項目或字串中的字元
    逐一取出,逐一處理
else:
    迴圈結束前,執行此區塊的命令

範例程式

迴圈程式,結束後會run一次底下的else

n=1
while n<5:
    print("變數n的資料是:",n)
    n+=1    
else:
    print(n)
#--------又或是-------------
for c in "Hello":
    print("逐一取得字串中的字元",c)
else:
    print(c)

參考資料來源:

Python 流程控制:if 判斷式 By 彭彭
Python 流程控制:迴圈基礎,while 迴圈、for 迴圈 By 彭彭
Python 流程控制:迴圈進階控制,break、continue、else 命令 By 彭彭
澎澎的教學網站
澎澎的yt教學頻道


上一篇
Day 04 python 進階入門(1)
下一篇
Day 06 python 進階入門(2)
系列文
資工琪琪的後端學習筆記(python&flask)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言