一起來學Python控制結構:List串列

一起來學Python控制結構:List串列
一起來學Python控制結構:List串列

想學Python的同學先看過來~我們為大家準備了List串列

List 串列

List 串列 是 Python教學中表示資料的方法(資料結構),有順序地將一系列的物件集合在一起,具有索引特性。

 

List 串列的語法,是用「[]」包覆一系列的物件,每個物件(元素)均使用逗號「,」區隔,如以下例子所示:

GearList = ["Scuba BCD", "Scuba Diving Regulator", "Diving Fins", "Diving Mask", "Scuba Tank", "Wet Suit"]
print(GearList[0])
print(GearList[1])
print(GearList[2])
print(GearList[3])
print(GearList[4])
print(GearList[5])

上述範例結果為:

Scuba BCD
Scuba Diving Regulator
Diving Fins
Diving Mask
Scuba Tank
Wet Suit

注意:List 串列的語法中,第一個物件(元素)的索引號為 0,而不是 1。

我們還可以創建沒有物件的 List 串列,如下所示:

empty_list = []
print(empty_list)

結果如下:

[]

List 串列中所包含的元素種類眾多,有字串(string)、整數與浮點數、變數等,甚至在包含另一個 List 串列(也是以「[]」包覆)。一個 Lise 串列可以囊括不同種類的物件,如下所示:

變數 = 3
一堆雜物 = ["string", 0, [1, 2, 變數], 4.56]
print(一堆雜物[1])
print(一堆雜物[2])
print(一堆雜物[2][2])

以上範例結果如下所示:

0
[1, 2, 變數]
3

上述的 「print(一堆雜物[2][2])」意思為輸出列表中索引「2」的物件列表中的索引「2」物件,該物件為「變數」,而變數等於三,故 print(一堆雜物[2][2]) 的結果為「3」。

字串 (strings) 類型也可以逐字被索引

Python 字串類型的物件,也可以像 List 串列一樣,逐字被索引。我們可以輸入 print(str[n]) 指令,讓他抓出字串元素的第 n+1 個字。【關於字串,請參考:Python基本概念第四課-Strings字串

 

在字串中,第一個字母的索引號也是 0,而不是 1。

str = "潛水用具包含 BCD、水肺等."
print(str[0])
print(str[1])
print(str[6])
print(str[9])
print(str[10])
print(str[14])

結果如下(以一行指令、一行輸出結果的方式表示):

>>> print(str[0])
潛
>>> print(str[1])
水
>>> print(str[6])
 
>>> print(str[9])
D
>>> print(str[10])
、
>>> print(str[14])
.

由此可見,無論是全形、半形、中文、英文、空格、標點符號等等,全部在 Python 程式裡面都可以被索引出來!

學會了 List 串列,可以應用的地方非常廣。無論是本章介紹的基本索引功能,也有進階的索引用法【請參考:Python控制結構7.List串列與其他運算子的應用】,除此之外,你也可以活用各種函數來增加索引中的物件或是計算索引中的物件數量【請參考:Python控制結構8.List-append,insert,index,len函數

List串列尚可搭配 for 迴圈,讓 List串列中的所有物件都可以被 Python 程式執行!【請參考:Python控制結構10.for迴圈

 

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

實用Python課程:dir()和help()的使用

實用Python課程:dir()和help()的使用
實用Python課程:dir()和help()的使用
超實用的Python課程今天要來教大家dir()和help()怎麼用~快學起來吧!!

Python 中 dir()、help()的使用

在使用Python來編寫程式碼時,經常會使用 Python 中的內建函數 (Built-in Functions)或是模組。若當你對一些函數、模組不清楚的話,就可以通過 dir() 和 help() 查詢說明或屬性。

help(): 用於查看屬性及方法的詳細解釋

Python 內建函數 – dir()

「dir()」的用途是用於用來查詢物件的全部屬性。例如說今天你想使用 dir() 函數用於查看物件「str」 的全部屬性,你就寫了:

>>>print dir(str)

執行結果如下:

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

如果 dir() 的括弧內不帶任何參數物件,執行結果則會最大限度地顯示出當前範圍內的變數、方法和屬性列表。

['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']

Python 內建函數 – help()

help(): 用於查看函式或模組用途的詳細說明。例如說今天你想使用 help() 用於查看「dir」 的用途,你就寫了:

>>>help(‘dir’)

執行結果如下:

Help on built-in function dir in module builtins:

dir(…)
    dir([object]) -> list of strings

    If called without an argument, return the names in the current scope.
    Else, return an alphabetized list of names comprising (some of) the attributes
    of the given object, and of attributes reachable from it.
    If the object supplies a method named __dir__, it will be used; otherwise
    the default dir() logic is used and returns:
      for a module object: the module’s attributes.
      for a class object:  its attributes, and recursively the attributes
        of its bases.
      for any other object: its attributes, its class’s attributes, and
        recursively the attributes of its class’s base classes.

 

更多Python文章快點下方連結!!

 

 

 

其他閱讀

工程師們口中的Python到底是甚麼? 很重要嗎?

從七大點告訴你Python和Java有何不同!!

什麼!!Python也可以用來畫皮卡丘?!到底是怎麼辦到的?

暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

重新學習UI UX Python課程 打好基礎輕鬆領高薪

有一個傳說 來上Java課程還能任高薪職缺 媒合率竟高達百分之90

人工智慧讓你看清肥胖的原因 讓Python課程教你如何做到

一起來學Python控制結構:while 迴圈

一起來學Python控制結構:while 迴圈
一起來學Python控制結構:while 迴圈

想學Python的同學先看過來~我們為大家準備了while 迴圈

Python-while 迴圈

Python教學中的 if 條件判斷式【請參考:Python控制結構2.if else條件判斷(1)】,若評估為 True【請參考:Python控制結構1.布林值Boolean-True or False?】 的話,就會執行一次;反之則不執行。

Python 的 while 迴圈跟 if 條件判斷式相似,但是不同的是,它不只執行一次。只要條件成立,它就會不斷地重複執行。就算是有其中一段代碼被評估為 False,下一段代碼仍會被執行。

while 迴圈構成,包含了 。

以下範例的 while 迴圈中有一個變數「i」,初始值為「1」;更新值(又稱為調整值)為「i+1」;讓迴圈結束的條件為「i <=5」。

以下範例讓 i 的從初始值開始,程式每執行一次,i 就等於上一回合的數值再「+1」一次,直到 i 等於 5 為止停止,寫法如下:

 i = 1 #初始值
 while i <=5:       #讓迴圈結束的條件
    print(i)
    i = i + 1       #更新值 (調整) 

則結果為:

1
2
3
4
5
>>>

while迴圈的「infinite loop(無限循環)」

Python 的 while 迴圈中,有一種被稱作「infinite loop(無限循環)」,當條件(為True)成立時,程式就會永不停止地重複執行。

「infinite loop(無限循環)」的範例如下:

while 7==7:
  print("這是無限循環迴圈")

結果,「這是無限循環迴圈」這行字就會不斷的重複顯示。

若你真的受不了,你可以按鍵盤快速鍵「Ctrl-C」以阻止它繼續重複顯示。

以下也是無限循環迴圈的另一個例子,看看它的結果如何。

x=1
>>> while x>0:
         print(x)
         x+2

結果馬上會跳出一堆數字,且不斷的在跳出中。後出來的數字,都是前一個數字 +2 的結果。真的受不了,就按鍵盤快速鍵「Ctrl-C 」跳出吧!

跳出while迴圈:break

要結束 while 迴圈循環,就使用 break 敘述。在迴圈循環時,一遇到 break 敘述,就會讓迴圈立即停止循環。範例如下:

i = 1 #初始值
while 1==1:
  print(i)
  i = i + 1  #更新值 (調整) 
  if i >= 5: #讓迴圈結束的條件
    print("Breaking")
    break
>>>

上述的代碼,意思若「1 等於 1」的敘述為真,則 i 就從 1 開始輸出,之後程式跑到「i = i + 1」,i 就以 i+1 的形式繼續循環輸出,直到 i 為「5」時,就輸出「Breaking」並結束循環。因此這段 Python 程式的執行結果為:

1
2
3
4
Breaking

繼續while迴圈:continue

Python 的 while 迴圈中,有一個與 break 敘述相對的,就是 continue —— 跳回到迴圈的頂部繼續循環,而不是停止循環。

i = 1 #初始值
while True:
  print(i)   
  i = i + 1  #更新值 (調整) 
  if i == 5: 
    print("Skipping 5")
    continue
  if i == 7: #讓迴圈結束的條件
    print("Breaking")
    break

上述的 Python 代碼,意思若「1 等於 1」的敘述為真,則 i 就從 1 開始輸出,之後程式跑到「i = i + 1」,i 就以 i+1 的形式繼續循環輸出,直到 i 等於「5」時,就輸出「Skipping 5」並且跳回到迴圈的頂部「print(i)」繼續從「5」循環,直到 i 等於「7」時輸出「Breaking」並結束循環。因此這段 Python 程式的執行結果為:

1
2
3
4
Skipping 5
5
6
Breaking

 

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

Python控制結構小學堂:運算子優先順序

Python控制結構小學堂:運算子優先順序
Python控制結構小學堂:運算子優先順序

今天要來跟大家介紹Python的運算子優先順序~還不會的同學趁現在學起來!!

運算子優先順序(operator precedence)在包含 Python 及其他的程式語言都是很重要的概念。它是數學運算順序(如先乘除後加減)概念的延伸,並包含其的他運算子如布林運算子等。

下方表中列出了 Python 的運算子的優先順序,優先順序由高至低如下:

** 指數 (最高優先順序),範例:2**3 = 8
~< 補數
+
正數
負數
*
/
//
%


地板除法(只取整數的除法)
餘數
+
加法
減法
>>
<<
右移
左移
&
^ XOR
| OR
in
not in
is
is not
>
<
>=
<=
!=
==
比較運算子
not x 布林值:不(NOT)
and 布林值:和(AND)
or 布林值:或(OR)

Python 的運算子的優先順序,可由以下例子練習:

16 - 2 * 5 // 3 + 1

結果如下:

14

解析:上例首先計算 2 * 5 得到 10,然後是 10 // 3 得到值 3 (此為忽略餘數的地板除法,所以無小數點),然後計算 16 – 3 + 1 得到 14。

又如下例,結果會如何?

x = 4
y = 2
if not 1 + 1 == y or x == 4 and 7 == 8:
  print("Yes")
elif x > y:
print("No")

結果顯示如下:

No

 

 

更多Python或Python教學相關文章請點閱下方連結~

 

 

 

其他閱讀

人工智慧寫「不想消滅人類」登《衛報》……記者將被 AI 取代?

人工智慧、大數據、VR等2020最搶手職業榜出爐!值得你現在開始準備

人工智慧把關用藥安全!AI 藥櫃取藥、送藥、用藥更精準

人工智慧:貓是液體!NVIDIA 的 AI 創造人臉超逼真,但合成的貓都是液態

谷哥地圖利用人工智慧大升級!!預測路況不是夢!!(上)

全球最年輕的人工智慧專家~竟然五歲就開始寫程式了?!

人工智慧也凸槌?!臉部辨識系統竟分辨不出黑人女性?!(上)

一起來學Python控制結構:布林邏輯and/or/not

一起來學Python控制結構:布林邏輯and/or/not
一起來學Python控制結構:布林邏輯and/or/not

想學Python的同學先看過來~我們為大家準備了布林邏輯and/or/not

在Python教學中, 當 Pythonif 條件判斷式(複習if…else條件判斷式請看這篇)變得更複雜,有超過一種狀況時,就使用 Boolean Logic 布林邏輯式。

Python 的 Boolean 運算子包含:and(和)、or(或)、not(不是)。

and 運算子包含兩個條件參數,當兩個條件都成立時,才會被評估為「True」。只要其中有一個不成立,則為「False」。【參考:Python控制結構1.布林值Boolean-True or False?

>>> bool( 1 == 1 and 2 == 2 )
True
>>> bool( 1 == 1 and 2 != 2 )
False
>>> bool( 1 < 1 and 2 >= 2 )
False
>>> bool( 1 < 1 and 2 != 2 )
False

下方 Python 程式例子為只要符合「年滿18歲」及「低消超過180元」才會輸出「welcome」的例子

age=21
money=500
if age >= 18 and money >= 180:
 print("welcome")

結果顯示如下:

>>>
welcome
>>>

Python 的 or 運算子包含兩個參數,只要其中有一個條件成立,就會被評估為「True」。兩個條件都不成立才會被判定為「False」

>>> bool( 1 == 1 or 2 == 2 )
True
>>> bool( 1 != 1 or 2 == 2 )
True
>>> bool( 1 != 1 or 2 != 2)
False

下方例子為只要符合「年滿65歲」或是「你付超過3000元」兩條件任一種,就會輸出「You’ll get a Wacken Open Air 2020 ticket」的例子

age=77
money=0
if age >= 65 or money >= 3000:
 print("You'll get a Wacken Open Air 2020 ticket")

結果顯示如下:

>>>
You'll get a Megadeth concert ticket
>>>

not 運算子只有包含「一個」條件參數,條件成立(就是合乎邏輯)就會顯示為「False」。條件不成立才會被判定為「True」

>>> bool( not 1 == 1 )
False
>>> bool( not 1 != 1 )
True

下方例子為只要不符合「年滿18歲」就會顯示「未滿18歲不得進入」的例子

age=14
if not (age>=18):
 print("未滿18歲不得進入")

結果顯示如下:

>>>
未滿18歲不得進入
>>>

 

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

一起來學Python控制結構:if else條件判斷(下)

一起來學Python控制結構:if else條件判斷(下)
一起來學Python控制結構:if else條件判斷(下)

想學Python的同學先看過來~我們為大家準備了if else條件判斷(下)

上一篇文章:Python控制結構2.if else條件判斷(1),我們已經知道 if…else 的 if 的用法,這一篇Python教學就來講述 else 的功能。

Python 的 if…else 條件判斷式,除了單純的 if 設定一組條件之外,還可加上 else…if 或 else 增加條件。每一個 if,都可以設定不同的條件。例如:今天你要寫出一個Python程式,判斷你所輸入的樂團名稱「Megadeth」,是否在四大鞭擊金屬樂團之列。則程式如下例所示:

bandname = "Metallica"
if bandname == "Megadeth":
    print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團。")
else: 
    if bandname == "Metallica":
        print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯")
    else:
        if bandname == "Anthrax":
            print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica")
        else: 
            if bandname == "Slayer":
                print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟")
            else:
                print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中")

結果顯示如下:

>>>
Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯
>>>

以上Python的例子,你可以把樂團名稱換成 “Megadeth”、”Anthrax”、”Slayer” 或是其他的名稱試試看喔!

else if 可以縮寫成「elif」,承上方的例子,把所有的 else if 都改成「elif」則結果如下例所示(下例也把樂團名稱改成 “Megadeth”):

bandname = "Megadeth"
if bandname == "Megadeth":
    print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團")
elif bandname == "Metallica":
    print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯")
elif bandname == "Anthrax":
    print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica")
elif bandname == "Slayer":
    print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟")
else:
    print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中")

結果顯示如下:

>>>
無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團
>>>

承上例,我們把第一行的 「bandname = “Megadeth”」改成「bandname = “Anthrax”」結果顯示如下:

>>>
Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica
>>>

承上例,我們再把第一行的 「bandname = “Anthrax”」改成「bandname = “Slayer”」結果顯示如下:

>>>
Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟
>>>

承上例,我們再把第一行的 「bandname = “Slayer”」,將 Slayer 改成隨便一個你知道的樂團名稱,也許結果顯示如下:

>>>
你輸入的樂團名稱不在四大鞭擊金屬樂團之中
>>>

 

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

一起來學Python控制結構:if else條件判斷(上)

一起來學Python控制結構:if else條件判斷(上)
一起來學Python控制結構:if else條件判斷(上)

想學Python的同學先看過來~我們為大家準備了if else條件判斷(上)

在Python教學中,若有滿足特定的條件,則可以使用 if 指令。要是滿足了某個指定的條件(即是布林值為「True」,若不懂何謂布林值,請看這篇:Python控制結構1.布林值Boolean-True or False?),則這個程式的片段會被執行。反之,則不執行。

if 指令的語法如下

if <條件>:
   執行的狀況

範例:如果 x 小於 0 則輸出「x 是負數」,而不論 x 的值為何,最後都會輸出「此Python程式結束」。

x=-10
if x < 0:
    print("x 是負數")
print("此Python程式結束")

結果顯示如下:

>>>
x 是負數
此Python程式結束
>>>

呈上例,若 x=10 的話,則結果只會顯示「此Python程式結束」。

有時,if 條件式裡還會有另一組 if 條件式,就形成多層 if 條件式的架構。這種情況稱為「巢狀 if 條件式」。巢狀 if 條件式就好像設定多道關卡,資料必須經過每一道關卡的檢驗。滿足了第一關的條件,才會到第二關。這是用來檢視是否滿足多種條件的方法。如下例,如果要判斷一個人是否可以觀看輔導級、甚至限制級的電影,必須先知道他的年齡。我們把輔導級的年齡設定為 15 歲,限制級的年齡設定為 18 歲。若能觀看輔導級,不見得可以看限制級的電影;但若能看限制級的電影,則輔導級電影也可以看。今天來了一個 17 歲的人,正從以下電影考慮挑一部電影看。他們是:限制級的「藍波:最後一滴血」和輔 15 級的「無間行動」。他的年齡可以看哪一部電影呢?請參考以下程式碼:

age = 17
if age >= 15:
   print("已滿15歲,可以觀賞輔15級的電影")
   if age <18:
      print("未滿18歲不得觀賞限制級的電影")

結果顯示如下:

已滿15歲,可以觀賞輔15級的電影
未滿18歲不得觀賞限制級的電影

因此,他必須放棄「藍波:最後一滴血」這部片子,而選擇「無間行動」。

if 條件判斷式,可以不只有一種條件。若要新增條件的話,就必須要加「else」。else 的用法將在Python控制結構2.if else條件判斷(2)中說明。

 

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

Python控制結構小教室:實作簡單的計算機

Python控制結構小教室:實作簡單的計算機
Python控制結構小教室:實作簡單的計算機

大家喜歡的Python小教室回來了~這一系列的文章要來教大家控制結構:實作簡單的計算機

本文是Python教學項目實做:一個簡單的計算器。本實作應用了 Python 的基本函數與概念:while 迴圈if 條件判斷式elif 寫法type conversion類型轉換

每個部分說明了 Python 程式的不同部分。

第一部分是計算機的起始畫面,讓用戶一直不斷輸入,直到用戶輸入「exit」為止,因此使用了while 迴圈

while True:
   print("選項:")
   print("輸入 '+' 讓兩個數值互加")
   print("輸入 '-' 讓兩個數值互減")
   print("輸入 '*' 讓兩個數值互乘")
   print("輸入 '/' 讓兩個數值互除")
   print("輸入 'exit' 來結束程式")
   user_input = input(": ")

   if user_input == "exit":
      break
   elif user_input == "+":
      ...
   elif user_input == "-":
      ...
   elif user_input == "*":
      ...
   elif user_input == "/":
      ...
   else:
      print("不知道你在輸入什麼")  

上述程式還沒寫完,只完成了起始畫面與結構。接下來我們針對每個小部分來寫 Python 程式碼:

加法的部分:

elif user_input == "+":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))

現在,當用戶輸入「+」後,程式就會提示輸入兩個數字。以上我們使用 float()函數,來將用戶輸入的數字強制轉變成浮點數。但是若用戶輸入的不是數字,程式就會 GG。

接下來,我們寫的程式碼,是用來執行用戶輸入的兩個數字,完成加總並且將結果輸出。Python 程式碼如以下所示

elif user_input == "+":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 + num2)
    print("答案是 " + result)

以此類推,減法的部分為:

elif user_input == "-":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 - num2)
    print("答案是 " + result)

以此類推,乘法的部分為:

elif user_input == "*":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 * num2)
    print("答案是 " + result)

以此類推,除法的部分為:

elif user_input == "/":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 / num2)
    print("答案是 " + result)

程式寫好,執行成果如下:

 
 
還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

 

一起來學Python控制結構:布林值true or false

一起來學Python控制結構:布林值true or false
一起來學Python控制結構:布林值true or false

想學Python的同學先看過來~我們為大家準備了布林值true or false

Python 程式語法中的其中一種,是布林代數 (Boolean algebra),這可是Python教學中非常重要的一部分!! Python 的布林型態為 bool。布林值 (Boolean value) 僅有兩種: True 和 False。布林值可以藉由關係運算子 (Relational operator) 來建立,例如兩個等號 == 用來比較兩個值,如果相等就回覆 True,否則回覆 False:

>>> Megadeth = True
>>> bool(Megadeth)
True
>>> bool(2==3)
False
>>> bool(3==3)
True
>>> bool("Hangar 18"=="Hangar 18")
True
>>> bool("Return to Hangar"=="Return to Hangar")
True

與兩個等號「==」相反的關係運算子「!=」,也是用來比較兩個值,如果「不」相等就回覆 True,否則回覆 False:

>>> bool(2!=3)
True
>>> bool(2!=2)
False
>>> bool("Megadeth"!="Megadeth")
False
>>> bool("megadeth"!="Megadeth")
True

因為在 Python 中,大小寫是不能視為相等的。所以上方最後兩個例子雖然字母都一樣(都為 “Megadeth”),但是後一個例子的開頭字母的大小寫不同,所以被視為「不」相等。

比較兩個數值(不限整數或是浮點數)大小的運算子「>(大於)」、「<(小於)」、「>=(大於或等於)」、「<=(小於或等於)」例子如下:

>>> bool(2<3)
True
>>> bool(2>2)
False
>>> bool(2<3.0)
True
>>> bool(2.0>2)
False
>>> bool(2.0>=2)
True
>>> bool(2.0<=3.9)
True

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機

Python控制結構小教室:for迴圈

Python控制結構小教室:for迴圈
Python控制結構小教室:for迴圈

大家喜歡的Python小教室回來了~這一系列的文章要來教大家控制結構:for迴圈

看這一篇之前,建議先看這一篇「Python控制結構5.while 迴圈」複習 while 迴圈。

在進行Python教學的時候,若我們要多次重複執行一個指令,我們可以使用迴圈(loops)。迴圈中的程式碼會用以下的方式執行指令:1、按照所指定的次數,重複執行;2、重複執行,直到特定的條件成立時結束;3、針對某一集合(例如:Python list串列之中的物件)中的所有項目,都各執行一次。

for 迴圈 vs. while 迴圈

先前我們曾經介紹過的 while 迴圈用法與 if 條件判斷式相似,只要給予的條件成立(即為「True(真)」),它就會執行。不同的是執行次數,if 只執行一次;while 迴圈則輪迴執行無限多次 (除非有設定讓迴圈結束的條件且條件成立)。

while 迴圈只要「沒有」另外設定「迴圈結束的條件(如:if 、break)」,迴圈就會無限的循環。這次我們要介紹的 for 迴圈則是在一行內就 自帶計數功能的迴圈,可以將重複循環控制在固定的數量內。

以下為一個 while 迴圈的範例,起始值為「count=0」、調整值為「count = count + 1」、讓迴圈結束的條件為「<= 5」,如下所示:

count=0 
while count <= 5: 
    print(count)
    count = count + 1   

上述範例結果為:

0
1
2
3
4
5

上個範例,若我們把第二行的「count <= 5」抽掉,換成一個「合乎常理」的條件(例如 count = 0),這個 loop 就會「0,1,2,3,4,5,6,7⋯⋯」永無止盡的重複「+1」的動作。同個範例,若使用 for 迴圈,則在第一行就可以搭配 range數列,定義「終止值」。如下例:

for count in range(0,6,1):
  print(count)

上述例子結果為:

0
1
2
3
4
5

有沒有發現,原本使用 while loop 需要 4 行的 coding,使用 for loop 只要兩行?

因為 while 迴圈把三大控制條件:初始值、讓迴圈結束的條件、更新值(又稱為調整值)分散在各行來敘述,for 迴圈則使用 range數列 將這三大控制條件放在同一行中展現。上述 range 的寫法為「range(起始值為0,迴圈在6之前就結束,調整值為+1),一行立刻應用 Range數列來訂定起始值、結束條件與調整方法,是不是很精簡方便的?Python 的 range 函數的詳細用法請見這一篇。

下面還有另外一個例子,為 for 迴圈應用 Python List串列函數的,將串列表中的所有物件都執行一次的範例:

the_BIG4=["Megadeth","Metallica","Anthrax","Slayer"]
for bandname in the_BIG4:
    print(bandname+" is a thrash metal band.")

上述例子結果為:

Megadeth is a thrash metal band.
Metallica is a thrash metal band.
Anthrax is a thrash metal band.
Slayer is a thrash metal band.

這種針對某一集合中的所有項目(例如:List串列之中的所有物件),都各執行一次例子,若用 while 迴圈來表示則需要:1、套用到 counter 「計數器」變數(計數器的數值是跟著索引跑的,所以設定起始值為「counter = 0」。串列的索引編號均是從零開始,詳細請看這篇)。;2、調整值為多加一次,故把計數器變數設為「counter = counter + 1」;3、讓迴圈結束的條件為當計數器把串列的東西全都執行結束時,因此把計數器的值設定為「最大的索引數」, 變成:

the_BIG4=["Megadeth","Metallica","Anthrax","Slayer"]
counter = 0
max_index = len(the_BIG4)-1

while counter <= max_index:
   bandname = the_BIG4[counter]
   print(bandname + " is a thrash metal band.")
   counter = counter + 1 

比起來,for 迴圈自帶計數的特性,真的簡化了 Python 程式碼的寫法。所以遇到有次數限制的迴圈時,不妨使用 for 迴圈吧!

還想了解更多Python教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

Python控制結構1.布林值Boolean-True or False?

Python控制結構2.if else條件判斷(1)

Python控制結構2.if else條件判斷(2)

Python控制結構3.布林邏輯:and,or,not

Python控制結構4.運算子優先順序(Operator precedence)一覽

Python控制結構5.while 迴圈

Python控制結構7.List串列與其他運算子的應用

Python控制結構8.List-append,insert,index,len函數

Python控制結構9.Range數列生成

Python控制結構10.for迴圈

Python控制結構11.實作簡單的計算機