iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
AI & Data

「AI之旅:Python、Keras、PyTorch」 - 深度學習與數據入門挑戰系列 第 4

【Day4】Python 運算符與迴圈 裝備的最後強化!!

  • 分享至 

  • xImage
  •  

昨天稍微講了一點if迴圈用法,今天會介紹
1.運算符---邏輯判斷符號
___1.1比較運算符
___1.2邏輯運算符
___1.3補充說明
2.for迴圈
3.while 迴圈

把基礎的語法講解完!
把我們的裝備通通強化成+9裝

運算符

前面說明了if的使用方式,而在條件裡通都需要有這些運算符,例如昨天例子判斷成年於否,轉為程式如下

if age > 18     # 如果age(年齡)大於 

其中 > 就是運算符

下面是各個常用運算符

在各種邏輯判段中必定少不了運算符的幫助,我們所列的條件中

比較運算符

  • ==  等於         *要注意是雙等號
    !=  不等於       
    <   小於         
    >   大於         
    <=  小於等於     
    >=  大於等於     
    

邏輯運算符

  • and 且   
    

ex.吃到飽6歲以下"且"120公分以下免收費(兩條件皆須符合)

  • or  或
    

ex.持有學生證"或"持有在學生證明可以購買學生票(兩條件其一符合,或兩條件都符合)

  • not  非
    

ex.如果"非"18歲不得申辦

**要特別注意在python邏輯運算是使用and與or而不是像C語言用& || **

補充說明

True 與 Flase

電腦中判斷結果會標示為True(真) 或 1 與 Flase(假) 或 0,也就是說你可以這麼做:

student = True  #要注意True與Flase的T與F都要是大寫
if student :
    print("你是學生")
else :
    print("你不是學生")
    

而在邏輯判斷語句中例如if age == 18 而這時我們age變數是18時結果就為真(True),反之為假(Flase)

你可以把studet換成True、1或Flase、0,在過程若你有試 student = 2 你會發現判定為真,只有在數字為0(包含0.0、-0、+0等只要是0)時他才會判定為Flase。

變數型態轉換

昨天所說過的變數型態在判斷句中都需要特別注意,有時輸入會與所需不同,這時可以用以下方式做轉換。

  • str()  #將括號內變數轉成字串型態
    
    int()  #將括號內變數轉成字串型態
    

下面讓我們來實際操作看看

實際練習

邏輯運算符可能對於剛入門的讀者來說比較難理解,我們以上面註解來作例子。

1.且(and)

我們假設模特兒需要年齡大於18歲且身高至少180公分才符合面試標準,如果符合就顯示符合資格,相反則顯示資格不符,下面讓我們看看實際例子

age = int(input("輸入年齡")) #這裡使用int把input包起來,讓輸入指定為int格式
height = int(input("輸入身高")) #此處與上相同
if age > 18 & height >=  180 : #這裡是位元(數字)所以使用&
    print("符合資格")
else :
    print("資格不符")

2.或(or)

條件: ->持有學生證"或"持有在學生證明可以購買學生票(兩條件其一符合,或兩條件都符合)

stud = input("是否有學生證 輸入y/n ")    #intput預設輸入為字串,因此不須做轉換。
zstud = input("是否有在學證明 輸入y/n")

if stud == "y" or zstud == "y" :
    print("符合資格")
else :
    print("資格不符")
  1. 非(not)

條件: -> 非18歲不能申辦(只有18歲可以)

age1 = int(input("輸入年齡"))
if not age1 == 18 :
    print("非18歲禁止申辦")
else :
    print("符合資格")

'非'可能不好理解,例子裡條件可以看成 if not -> 如果不是

for 迴圈

for 迴圈是一種常見的迭代結構(簡單說就是會重複的結構),用於重複執行一組語句,直到滿足特定條件。它通常用於遍歷資料集合,如列表、元組、字典等(後面AI模型常常需要使用for迴圈來讀取資料),以便對其中的每個元素執行相同的操作,下面是他的基本架構:

for 變數 in 可迭代對象:
    # 迴圈本體內的操作

沒有例子可能不好理解,下面讓我們用幾個例子

fruits = ["蘋果", "香蕉", "櫻桃"]
for fruit in fruits: 
    print(fruits)

在上述結構中變數位置,可以看到我們不需要先宣告,因為在變數欄位中輸入等同做了宣告動作。

動作解釋: 進入迴圈時fruit會從0開始,而**print()**第一次會顯示fruits這項**list**中第0項,也就是蘋果開始,結束後會再回到**for迴圈**

這時fruit也就是變數欄位會+1,變成1之後再進行一次,這次會顯示**list**中的第1項"香蕉",以此類推,直到fruit = fruits (條件達成)結束

  • 其他例子
    遍歷字符串:
text = "你好"
for char in text:
    print(char)

遍歷字典:

person = {"名字": "愛麗絲", "年齡": 30, "城市": "紐約"}
for key, value in person.items():
    print(f"{key}: {value}")

for 迴圈在後面模型中會時常出現,需要多多重複練習熟悉他的用法。

前面有介紹過Frue 真Flase 假與迭代(重複)意思

while 迴圈

while 迴圈也是常見的迭代結構,用於根據特定條件重複執行一組程式碼。

當迴圈的條件為真(True)時,它會不斷地執行程式碼塊,直到條件變為假(False)為止。

while 條件:
    # 迴圈本體內的操作

while 迴圈開始運行時,它會先評估條件。如果條件為真(True),迴圈本體內的程式碼將被執行。

在每次迴圈迭代(重複)時,程式碼塊會被重新執行,並且在每次迭代之後再次評估條件。只要條件保持為真(True),迴圈就會繼續執行。

當條件變為假(False)時,迴圈停止執行,控制流程轉移到迴圈之後的程式碼。

下面一樣列出一些例子

  • 迴圈
count = 0
while count < 5:
    print(f"重複次數:{count}")
    count += 1

動作會重複五次,從count=0開始直到count加到5,迴圈回到上方,此時count已經沒有達成<5條件,這時條件就為假(Flase),動作停止(此處用法其實使用for迴圈就能達成)。

  • 使用 while 迴圈接收輸入,直到滿足特定條件:
user_input = ""
while user_input != "exit":
    user_input = input("輸入文字(輸入'exit'以退出):")

如果輸入不等於exit則會重複迴圈

實際練習

這裡讓我們來作個小題目吧!
1.製作一個成績判斷小程式,使用者輸入名字與成績,若不及個顯示再加油!,若及格則顯示恭喜及格80以上顯示好棒,100顯示太棒了!
2.製作一個小遊戲讓使用者猜一個介於1到100之間的隨機數字。程式將提供提示,告訴使用者該數字是太高還是太低,直到他們猜對為止。Ps.小提示使用import random 新增函式庫 random.變數(區間頭,區間尾)

練習題答案會放在GitHub裡

以上關於Python基礎語法介紹的差不多了,後面程式也都是基於這些作延伸或加上其他函式庫功能,後續若有其他特殊用法都會再註解,若有不熟悉這些語法的讀者可以多練習幾次,來把基礎練習熟練,好了裝備被選好也強化完全,AI之旅該出發囉!

今天程式後續會放在我的GitHub~可以直接點我前往


上一篇
【Day3】Python 工作環境建立與邏輯判斷
下一篇
【Day5】AI到神經網路~基本概念到Keras神經網絡
系列文
「AI之旅:Python、Keras、PyTorch」 - 深度學習與數據入門挑戰22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言