搜尋近期熱門

利用Python處理字串、字元全攻略

icon_fb icon_twitter icon_google
利用Python處理字串、字元全攻略

文、意如老師

 

 

導讀目錄:

1. 環境介紹與建置-我的第一個Python程式

2. 從零開始認識程式碼

3. Python 實作匯率轉換程式

 

 

任務1-1:抓取字串中的第幾個字

任務2:實作抓出身分證中的第2碼(數字1代表男生,2為女生)

任務3:取字串從第幾個開始~到幾個字結束

任務4:計算字串長度

任務5:將字串全轉為小寫、大寫

任務6:字元取代

任務7-1:字串分割為陣列

任務7-2:實作整理字串後讀出 data = "0912569369-John-Taipei-09:02"

任務8-1:將字串格式化輸出

任務8-2:其它格式化Format用法

 

 

 任務1-1:抓取字串中的第幾個字 

 

程式碼:

 

程式碼

執行

a = "Hello,world"

print( a[6] )

#抓字串的第幾個位置

#字串從0開始算

 

 

任務2:實作抓出身分證中的第2碼

 

實作:使用者輸入身分字號G221234567  G101234456

代表2為女生,1為男生,可印出身分證字號第2碼為: ?  1或2

 

程式碼

執行

a = input("請輸入身分證字號:") #G123852941  

print("身分證號碼第2位="+a[1])

#抓字串的第幾個位置

# 0 開始算

 

 

 任務3:取字串從第幾個開始~到幾個字結束 

 

程式碼

執行

#取字串從第幾個開始~到幾個字結束

b = "Hello, World!"

print(b[2:5])

 #5的位置結束(不會印出)

 

 

 任務4:計算字串長度 

 

使用時機:當規定使用者只能輸入幾個字的時候,或者使用迴圈時計算資料筆數時

 

程式碼

執行

a = "Hello, World!"

print(len(a))

 

 

 任務5:將字串全轉為小寫、大寫 

 

使用時機:當程式設計讓使用者輸入身分證字號時,可以自動將使用者輸入的第一個字母強制轉成大寫。

或者程式將帳號設計為小寫字母,當讓使用者輸入帳號時,就可以強制將使用者輸入的字母全都轉成小寫,減少使用者如果輸入大寫時的錯誤。

 

程式碼

執行

name = "YirUATSTUdio"

print(name.lower())

 

name = "YirUATSTUdio"

print(name.upper())

 

 

 任務6:字元取代 

 

程式碼

執行

a = "YiruAt, Studio!"

print(a.replace("A", "a")) #Yiruat, Studio!

print(a.replace(", ", "")) #YiruAtStudio!

 

b = "Hello, World!"

print(b.replace("Hello,", "哈囉!"))

#哈囉! World!

 

 

 任務7-1:字串分割為陣列 

 

有些資料會使用逗號(,)、頓號(、)、空格( )、或是其他(-),等等符號來紀錄資料,這時候需要把這些字串整理出來,分割字串讓它存為陣列類型,方便後續做使用

 

程式碼

執行

a = "Yiru,AtStudio!,123,abc"

#a是字串資料

b = a.split(",")

#使用,號分割字串 ,變成 陣列

print(a)

# Yiru,AtStudio!,123,abc

print(b)

# ['Yiru','AtStudio!','123','abc']

#印出所需資料

#[0]個位置 Yiru,[1]個位置 AtStudio! 以此類推

print(b[1]) #AtStudio!

#如果資料是用其他符號來分割 例如: ||

a = "Hello||World!||123||aa"

b = a.split("||") 

print(b[2]) #123

 

 

任務7-2:實作 整理字串後讀出

 

資料為:"0912569369-John-Taipei-09:02"

整理後印出:

電話:0912569369

姓名:John

縣市:Taipei

登入時間:09:02

 

程式碼

執行

data = "0912569369-John-Taipei-09:02"

b = data.split("-") #分割符號為 "-"

print("電話:"+b[0]) #0912569369

print("姓名:"+b[1]) #John

print("縣市:"+b[2]) #Taipei

print("登入時間:"+b[3]) #09:02

 

 

 

 任務8-1:將字串格式化輸出 

 

{:s}   代表字串

{:d}   代表整數

{:f}    代表浮點數

{:.1f}  顯示小數位數

{:%}  顯示百分比樣式

{:s}   代表字串

 

程式碼

執行

name = "John"

print("Hi,{:s}".format(name));    

#name變數塞進{:s}

#Hi,John

age = "10"

print("Hi,{:s},i'm {:s} years old ".format(name,age));    

#Hi,John,i'm 10 years old

print("Hi,{:s},i'm {:s} years old ,{:s}".format(name,age,'Yes!'));

#Hi,John,i'm 10 years old ,Yes!

 

 

任務8-2:其它格式化Format用法

 

程式碼

num = 23

print("Num={:d}".format(num));

#{:d} 只能放整數 #23

num = 23.56700

print("Num={:f}".format(num));

#{:f} 浮點數 #23.567000

num = 23.5611

print("Num={:.2f}".format(num));

#{:.2f} 印到小數第二位 #23.56

num = 23.5611

print("Num={:%}".format(num));

#{:%} 顯示百分比樣式 #2356.110000%

 

Photo credit:Pexels

 

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

聯成電腦go top

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策