iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
Python

自主學習Python網路爬蟲-PTT爬蟲、Hahow爬蟲、Yahoo電影爬蟲實作系列 第 5

Day05 藉由影片教學學習Python基礎語法

  • 分享至 

  • xImage
  •  

這次分享的是從CodeShiba程式柴的Python課程中學到的邏輯運算符字串索引與方法Email剖析程式f-string格式化,以及幾種應用練習!
首先是在Python中的邏輯運算符(and/or)
1.and

temp = int(input("請輸入現在溫度:"))
if temp > 0 and temp < 30: #and運算符是左右邊都要為True,只要其中一個是False的話就會跳到"溫度不適宜"
    print("溫度適宜")
else:
    print("溫度不適宜")

輸出結果為:
請輸入現在溫度:25
溫度適宜
2.or

temp = int(input("請輸入現在溫度:"))
if temp <= 0 and temp >= 30: #or運算符是左右兩邊只要其中一個條件是True的話就會顯示True
    print("溫度不適宜")
else:
    print("溫度適宜") #不符合上述兩種條件才會輸出"溫度適宜"

輸出結果為:
請輸入現在溫度:30
溫度不適宜
再來是Python中的字串方法
基本有:'len()','find()','capitalized()','upper()','lower()','count()','replace()'
help(str)指令可查詢到所有的計算方法

name="Fu Jen catholic university" #使用者全名

length=len(name) #幾個字元
print("您的全名共有",length,"個字元。")

space_pos=name.find(" ") #找到第一個空格
print("第一個空格出現在第",space_pos,"個字元。") #索引值從0開始算

#capitalized(),upper()及lower()函數
name_capitalized=name.capitalize()
print("您的全名(第一個字母大寫):,name_capitalized")

name_upper=name.upper()
print("您的全名(全部大寫):",name_upper)

name_lower=name.lower()
print("您的全名(全部小寫):,name_lower")

#count
phone_number=input("請輸入您的電話號碼:")
dash_count=phone_number.count("-")
print("您的電話號碼中共有",dash_count,"個短橫線。")
#replace 取代短橫線變為斜線
dash_count=phone_number.replace("-","/") #前面放原本的,後面放要轉換成的字元
print("您的電話號碼(短橫線換成斜線):,phone_number")

輸出結果為:
您的全名共有26個字元。
第一個空格出現在第2個字元。
您的全名(第一個字母大寫):Fu jen catholic university
您的全名(全部大寫):FU JEN CATHOLIC UNIVERSITY
您的全名(全部小寫):fu jen catholic university
請輸入您的電話號碼:0912-345-678(自行輸入)
您的電話號碼中共有2個短橫線。
您的電話號碼(短橫線換成斜線):0912/345/678
練習:驗證使用者輸入的合法性
#您的使用者名稱不能超過12個字元
#您的使用者名稱不能包含空格
#您的使用者名稱不能包含數字
#如果都符合的話,顯示"歡迎+使用者名稱"

user_name=input("請輸入您的使用者名稱:")
if len(user_name)>12:
    print("您的使用者名稱不能超過12個字元。")
elif " " in user_name: #找到空格的方法可以用in
     print("您的使用者名稱不能包含空格。")
elif not user_name.isalpha(): #isalpha()就是這個名稱中不是英文字的就要找出來
    print("您的使用者名稱不能包含數字。")
else:
    print("歡迎"+user_name)

輸出結果為:
請輸入您的使用者名稱:abcd1234(自行輸入)
您的使用者名稱不能包含數字。
#isalpha()的用法:

#輸入的名稱中不是英文字的就要找出來
user_name=input("請輸入您的使用者名稱:")
if user_name.isalpha():
    print("全都是英文字")
else:
    print("包含其他字元")

再來是Python中的字串索引

credits_number="1234-5678-9876-5432"
first_char=credits_number[0] #索引值是從0開始
print("第一個字元:",first_char)

second_char=credits_number[1]
print("第二個字元:",second_char)

first_four=credits_number[0:4] #起點是0,終點是4(從第0位到第3位,不包含第4位)
print("前四個字元:",first_four)

last_one=credits_number[-1] #最後一個字元用-1
print("最後一個字元:",last_one)

last_two=credits_number[-2] #倒數第二個字元用-2
print("倒數第二個字元:",last_two)

輸出結果為:
1
2
1234
2
3
再來是Python中的Email字串分析

email="abcd1234@gmail.com" #在@前的是使用者名稱,在@後的是網域名稱
index=email.index("@") #在index可以找到某個字元在字串中的哪個位置
print(index) #@字元是在字串中的第8個索引值
print(email[:index]) #在第8個索引值之前的所有字串,不包括第8個索引值(@)
print(email[(index+1):]) #在第8個索引值之後的所有字串

輸出結果為:
8
abcd1234
gmail.com
最後是Python中的f-string格式化
#小數點的精確度

price_1=3.321
price_2=-77
price_3=15.11
print(f"價格1為{price_1:+.2f}\n #後面接\n是把輸出結果換行
      f"價格2為{price_2:+.2f}\n #在price_1後加":+.2f"是指取到小數點後兩位(.2f),然後正負號皆會顯示(+)
      f"價格3為{price_3:+.2f}")

輸出結果為:
價格1為+3.77
價格2為-77.00
價格3為+15.11

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

price_1=3.321
price_2=-77
price_3=15.11
print(f"價格1為{price_1:<10.2f}\n #把位數預設為十位數
      f"價格2為{price_2:<10.2f}\n #用<是靠左對齊
      f"價格3為{price_3:<10.2f}")

輸出結果為:
價格1為3.77
價格2為-77.00
價格3為15.11

#混和不同符號

price_1=3.321
price_2=-77
price_3=15.11
print(f"價格1為{price_1:<10.2f}\n #正號必須加在對齊符號的右邊
      f"價格2為{price_2:<10.2f}\n
      f"價格3為{price_3:<10.2f}")

輸出結果為:
價格1為 +3.32
價格2為 -77.00
價格3為 +15.11


以上是我學習到的Python基礎語法與應用,除了清楚紀錄我在影片中學到的知識,也將會幫助我在之後的挑戰時間內完成我的主題!
參考網址:https://www.youtube.com/watch?v=lvH4-4iYjgs&list=LL&index=4


上一篇
Day04 藉由影片課程學習Python基礎語法
下一篇
Day06 藉由影片教學學習Python基礎語法
系列文
自主學習Python網路爬蟲-PTT爬蟲、Hahow爬蟲、Yahoo電影爬蟲實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言