iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
Python

python零之旅系列 第 5

DAY5. Python中的邏輯運算符與字串方法

  • 分享至 

  • xImage
  •  

邏輯運算符

通常用於條件語句,例如:if語句。
以下介紹三種運算符:
1.and
2.or
3.not
運算符可用來檢查兩個條件或至少一個條件是否為真,判斷後執行後面的程式。

若條件為真,結果將會改為False
若原本結果為false,結果將會改為true

範例1 and
兩個條件都為true的情況下,結果才為true,
其他狀況的結果皆為false。

age = int(input("請輸入年齡:"))
if age > 0 and age < 18
    print("你是未成年")
else:
    print("你已成年")

範例2 or
兩個條件只要有一條件為true的情況下,結果變為true。

if age < 18 or age >= 65
    print("你是幼年/老年人")
else:
    print("你是壯年人")

字串方法

1.len()
用來計算字串的字元。
2.find()
3.用來尋找括號內的字元位置。
3.capitalize()
使字串的第一個字元變成大寫。
4.upper()
將字串的全部字元轉換成大寫。
5.lower()
將字串的全部字元轉換成小寫。
6.count()
計算括號內的字元數量。
7.replace()
將括號內的字元替代為另一個字元。
範例:

name = "hello World! 你好!"
length = len(name)
print("共",length,"個字元") #結果為15個字元

space = name.find(" ")
print("第一空格在第",space,"個字元") #結果為第5個字元

name_capitalized = name.capitalize()
print(name_capitalized) #結果為 "Hello World! 你好!"

name_upper = name.upper()
print(name_upper) #結果為"HELLO WORLD! 你好!"

name_lower = name.lower
print(name_lower) #結果為"hello world! 你好!"

name_count = name.count("!")
print(name_count) #結果為2

name = name.replace("!" , "?")
print(name) #結果為"hello World? 你好?"

接下來,讓我們透過程式練習,更熟悉字串方法的應用。

練習:檢驗手機號碼輸入之合法性
1.不能超過10個數字
2.不能包含文字
3.不能包含空格
4.若條件皆符合,輸出"輸入成功!"

phone = input("請輸入電話號碼:")

if len(phone) > 10:
    print("輸入錯誤,請重新輸入")
elif " " in phone:
    print("輸入錯誤,請重新輸入")
elif phone.isalpha(): #檢查字串是否含有英文字
    print("輸入錯誤,請重新輸入")
else:
    print("輸入成功!")

字串索引

因為索引是從零開始若要取得第一字元,程式碼需寫成[0]。

範例:

num = 1234-5678-9012

first_num = num[0] #取得第零字元(1)
print(first_num)

firstfour_num = num[0:4] #取得第零至第三字元(1234)
print(firstfour_num)

last_num = num[-1] #取得最後一個字元(2)
print(last_num)

練習:Email 字串分析

email = "anna@gmail.com"
index = email.index("@")
print(index) #取得@的位置
print(email[:index]) #取得index前的所有字元
print(email[(index+1):]) #取得index後一位至最後一位的字元

f-string格式化

可以在值後面加上冒號,來看其他符號,改變輸出格式
格式化符號可控制小數點精確度、左右對齊、填充0、加入千位分格符號⋯

範例:

num_1 = 1.234
num_2 = -11
num_3 = 56.78

#確認至小數點後兩位(若無該位數則補零)
#加上正負號

print(f"num 1 = {num_1:+.2f}\n"
      f"num 2 = {num_2:+.2f}\n")
      f"num 3 = {num_3:+.2f}"

# < 靠左對齊
# > 靠右對齊
# ^ 置中對齊


print(f"num 1 = {num_1:<10.2f}\n"
      f"num 2 = {num_2:>10.2f}\n")
      f"num 3 = {num_3:^10.2f}"


上一篇
DAY4. Python中的if條件語句
下一篇
DAY6. Python中的各式迴圈應用
系列文
python零之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言