iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
Python

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

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

  • 分享至 

  • xImage
  •  

今天要分享的是while迴圈for迴圈巢狀迴圈實作練習
首先是while迴圈
範例一

name=input("請輸入你的名字:")
while name == "": #如果輸入空格的話,就會在while迴圈中跑
    name=input("請輸入你的名字:")
else:
    print(f"你好,{name}!")

輸出結果為:
請輸入你的名字: (輸入空格)
請輸入你的名字:abcd1234
你好,abcd1234!
#範例二

food=input("請輸入你喜歡吃的食物:")
while food != "q": #當food不等於q時,就會輸出你喜歡吃的食物是{food}
    print(f"你喜歡吃的食物是{food}")
    food=input("請輸入你喜歡吃的食物:")
print("錯誤!")

輸出結果為:
請輸入你喜歡吃的食物:蘋果
你喜歡吃的食物是蘋果
請輸入你喜歡吃的食物:薯條
你喜歡吃的食物是薯條
請輸入你喜歡吃的食物:q
錯誤!
#範例三

num=int(input("請輸入1到10之間的數字:"))
while num < 1 or num > 10:
    print(f"你輸入的數字{num}是無效的。")
    num=int(input("請輸入1到10之間的數字:"))
print(f"你輸入了{num}")

輸出結果為:
請輸入1到10之間的數字:11
你輸入的數字11是無效的。
請輸入1到10之間的數字:0
你輸入的數字0是無效的。
請輸入1到10之間的數字:5
你輸入了5
練習:複利計算機
#總金額=本金(1(利率/100)) 時間
#假設有$10000,銀行利息為5%,就是1.05(本金1+利息0.05)
#存第一年為100001.05,存第二年為100001.05 2(為1.05的2次方)
#本金部分

amount=0
while amount<=0:
    amount=float(input("請輸入本金金額:"))
    if amount<=0:
        print("本金金額不能小於或是等於零。")
print(amount)

輸出結果為:
請輸入本金金額:-1(自行輸入)
本金金額不能小於或是等於零。
10000.0
#利率部分

rate=0
while rate<=0:
    rate=float(input("請輸入利率:"))
    if rate<=0:
        print("利率不能小於或是等於零。")
print("利率:",rate)

輸出結果為:
請輸入利率:0
利率不能小於或是等於零。
請輸入利率:5
利率:5
#年限部分

time=0
while time<=0:
    time=int(input("請輸入年限:"))
    if time<=0:
        print("年限不能小於或是等於零。")
print("年限:",time)

輸出結果為:
請輸入年限:0
年限不能小於或是等於零。
請輸入年限:2
年限:2
#統整

amount=0
rate=0
time=0

while amount<=0:
    amount=float(input("請輸入本金金額:"))
    if amount<=0:
        print("本金金額不能小於或是等於零。")
        
while rate<=0:
    rate=float(input("請輸入利率:"))
    if rate<=0:
        print("利率不能小於或是等於零。")
        
while time<=0:
    time=int(input("請輸入年限:"))
    if time<=0:
        print("年限不能小於或是等於零。")

print(amount)
print("利率:",rate)
print("年限:",time)

total=amount * (1 + (rate / 100)) ** time
print("總金額:",total)

輸出結果為:
請輸入本金金額:100000
請輸入利率:5
請輸入年限:7
金額 100000.0
利率:5.0
年限 7
總金額:140710.04226562506

再來分享的是for迴圈
#執行固定次數的況下用for迴圈會更好

for x in range(1,11): #從1到11,不包含11
#用關鍵字in後面要接可迭代的物件,range方法可產生一個可迭代的東西。
    print(x)

輸出結果為:
1
2
3
...
9
10

for x in reversed(1,11): #反過來從11到1,不包含11
    print(x)

輸出結果為:
10
9
8
...
2
1

credit_card="1234-5678-9012-3456"
for x in credit_card:
    if x==9:
        continue #此迴圈會繼續執行,但會跳過9
        #break #此迴圈會中斷(只執行到9之前,不包含9),後面不會繼續執行
    else:
        print(x)

#字典 Dictionary
#鍵:key #值:value

my_dict={"a":1,"b":2,"c":3}
    for key,value in my_dict.items(): #items()方法可在前面迭代兩個變數(這裡是key跟value)
    print("key:",key)
    print("value:",value)

最後輸出為:
key:a
value:1
key:b
value:2
key:c
value:3
最後是巢狀迴圈
1.

for x in range(1,10): #從1到9,不包含10
    print(x,end=" ") #print結尾的內建是換行,要改成空格就用end=" "

輸出結果為:1 2 3 4 5 6 7 8 9
2.

for y in range(3):
    for x in range(1,10):
        print(x,end=" ")
    print()

輸出結果為:
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
3.

rows=int(input("請輸入行數:"))
cols=int(input("請輸入列數:"))
symbol=input("請輸入符號:")

for i in range(rows): #外迴圈
    for j in range(cols): #內迴圈
        print(symbol,end=" ")
    print()

輸出結果為:
請輸入行數:3
請輸入列數:2
請輸入符號:%
% %
% %
% %


以上為我在youtube上所學到的Python基礎語法及應用練習,影片創作者是CodeShiba 程式柴,歡迎大家也一起去觀看影片自學Python語法,影片解說得很詳盡,很適合初學者!
參考網址:https://www.youtube.com/watch?v=lvH4-4iYjgs&list=LL&index=4


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

尚未有邦友留言

立即登入留言