一起來學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控制結構: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.實作簡單的計算機

一起來學Python控制結構:Range數列生成

一起來學Python控制結構:Range數列生成
一起來學Python控制結構:Range數列生成

想學Python的同學先看過來~我們為大家準備了Range數列生成

Python教學中的「range」函數可以用來生成數字序列,若無指定,數字序列由「0」開始。下例指定數字序列生成到 20 個,如下例所示:

 

numbers = list(range(20))
print(numbers)

上述範例結果為:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Python 的「range」函數可以用來生成由零開始的數字序列,但是我們仍然可以指定起始值如下:

numbers = list(range(7, 14))
print(numbers)

print(range(20) == range(0, 20))

上述例子結果為:

[7, 8, 9, 10, 11, 12, 13]

True

Python 中我們除了可以輸入兩個參數,指定序列的起始值外,還可以指定第三個參數(必須為整數)以定義每個數字中間間隔為多少。如下:

numbers = list(range(7, 14, 2))
print(numbers)

上述例子結果:

[7, 9, 11, 13]

 

還想了解更多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教學中的 List 串列【基本的List串列說明,請參考:Python控制結構6.List串列】中,我們不僅可以隨意替換、索引 List 中的物件【請參考:Python控制結構7.List串列與其他運算子的應用】我們可以使用「append」來增加串列中的物件。如下例所示:

 

GearList = ["BCD", "調節器", "蛙鞋"]
GearList.append("潛水面罩")
print(GearList)

上述範例結果為:

['BCD', '調節器', '蛙鞋', '潛水面罩']

我們可以使用「len」來計算 List 串列中有多少物件:

GearList = ["BCD", "調節器", "蛙鞋"]
print(len(GearList))

上述例子結果為「3」。

「len」可與「append」合用,Python 語法範例如下:

GearList = ["BCD", "調節器", "蛙鞋"]
GearList.append("潛水面罩")
print(len(GearList))

上述例子結果為「4」。

剛剛提到,在 Python 中我們可以使用「append」來增加串列中的物件。但是「append」都是把物件增加在串列的最後面。若希望物件增加到串列的中間,就用「insert」:

GearList = ["BCD", "調節器", "蛙鞋"]
index=1
GearList.insert(index,"潛水面罩")
print(GearList)

結果為:

['BCD', '潛水面罩', '調節器', '蛙鞋']

以上範例,我們在 List 串列那一行的後方,加入了「index=1」,指定索引號碼為「1」。所以,”潛水面罩”這物件就被安插在索引序號為「1」的位置。

Python 的 List 串列用法可說是多樣化。我們甚至可以使用「index」來查看指定物件的索引序號如下:

GearList = ["BCD", "調節器", "蛙鞋"]
index=2
GearList.insert(index,"潛水面罩")
print(GearList.index("BCD"))
print(GearList.index("蛙鞋"))
print(GearList.index("調節器"))
print(GearList.index("潛水面罩"))

結果為:

0
3
1
2

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控制結構:串列與運算子的應用

一起來學Python控制結構:串列與運算子的應用
一起來學Python控制結構:串列與運算子的應用

想學Python的同學先看過來~我們為大家準備了串列與運算子的應用

List 串列-重新定義物件

在「Python控制結構6.List串列」中,我們了解了基本的 List串列索引的概念。在Python教學中,同一 List 串列內的任一物件(元素),不是固定的,物件是可以隨時替換的,如下:

 

GearList = ["BCD", "調節器", "蛙鞋", "潛水面罩", "氣瓶", "潛水衣"]
GearList[5] = "Dry Suit"
print(GearList)

上述範例結果為:

['BCD', '調節器', '蛙鞋', '潛水面罩', '氣瓶', 'Dry Suit']

是否注意到最後一個物件(索引編號:5)從 “潛水衣” 變成了 “Dry Suit”?

List 串列-print時增加、複製物件

Python 中,也可以使用運算子「+」、「*」,來使 List 串列被輸出時,可以增加、複製物件。如下面例子所示:

GearList = ["BCD", "調節器", "蛙鞋", "潛水面罩", "氣瓶", "潛水衣"]
print(GearList+["潛水電腦"])
print(GearList*2)

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

>>> print(GearList+["潛水電腦"])
['BCD', '調節器', '蛙鞋', '潛水面罩', '氣瓶', '潛水衣', '潛水電腦']

>>> print(GearList*2)
['BCD', '調節器', '蛙鞋', '潛水面罩', '氣瓶', '潛水衣', 'BCD', '調節器', '蛙鞋', '潛水面罩', '氣瓶', '潛水衣']

以上範例的結果,第一個程式碼在輸出時增加了”潛水電腦”;第二個輸出的結果為原有程式碼的兩倍。

檢查 List 串列表中的物件

我們可以在 print 時,運用「in」運算子來檢查指定的物件(元素)是否在串列中。若有,則回傳為 True;反之為 False。寫法為如下方範例所示:

Fruits = ["芭樂", "榴蓮", "柳丁", "草莓"]
print("榴蓮" in Fruits)
print("草莓" in Fruits)
print("牛肉" in Fruits)

結果為:

True
True
False

以上Python範例,還可以搭配「not」運算子【not 運算子請參考:Python控制結構3.布林邏輯:and,or,not】來檢查指定的物件(元素)是否「沒有」在串列中。若沒有,則回傳為 True;有的話則為 False。

Fruits = ["芭樂", "榴蓮", "柳丁", "草莓"]
print(not "榴蓮" in Fruits)
print("榴蓮" not in Fruits)
print(not "草莓" in Fruits)
print("牛肉" not in Fruits)

結果為:

False
False
False
True

除了上述介紹的 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初學者必學:字串和文本

Python初學者必學:字串和文本
Python初學者必學:字串和文本

你是Python的初學者嗎?那就一定不能錯過這篇實用文!!

本節 Python 練習中我們將使用複雜的字串 String 來建立一系列的變數,以更熟悉字串的用處。

首先,我們還是要了解一下字串這個概念。字串通常包含你想要展示出來的內容、或是你想要從程式裡導出 “” 的一小段字符。Python 可以通過文本裡的雙引號或者單引號,識別出何為字串。如果你把單引號或者雙引號括起來的文字放到 print 後面,它們就會被Python print 出來。

字串可以包含格式化字符 %s(即以 str() 函數輸出文字)。你只要將格式化的變數放到字串中,再緊跟著一個百分號 % (percent),再緊跟著變數名即可。唯一要注意的地方是如果你想要在字串中通過格式化字符放入多個變數的時候,你需要將變數放到( ) 圓括號(parenthesis) 中,而且變數之間用, 逗號(comma ) 隔開。就像你逛商店說『我要買牛奶、麵包、雞蛋、八寶粥』一樣,只不過程式設計師說的是「(milk, eggs, bread, soup)」。

在以下的練習中,我們將用簡化的變數名稱,輸入大量的字串、變數、和格式化字符,並且執行出來:

x = "There are %d types of people." % 10

binary = "binary"

do_not = "don't"

y = "Those who know %s and those who %s." % (binary, do_not)



print x

print y



print "I said: %r." % x

print "I also said: '%s'." % y



hilarious = False

joke_evaluation = "Isn't that joke so funny?! %r"



print joke_evaluation % hilarious



w = "This is the left side of..."

e = "a string with a right side."



print w + e

如果上面的操作都沒問題,你將看到下面的結果:

There are 10 types of people.

Those who know binary and those who don't.

I said: 'There are 10 types of people.'.

I also said: 'Those who know binary and those who don't.'.

Isn't that joke so funny?! False

This is the left side of...a string with a right side.

 

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

 

 

 

其他閱讀

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

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

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

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

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

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

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

一起來學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 創造人臉超逼真,但合成的貓都是液態

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

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

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