iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
Python

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

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

  • 分享至 

  • xImage
  •  

今天要分享的是實作練習-販賣機程式random的4個常用方法實作練習-猜數字遊戲實作練習-猜拳遊戲實作練習-骰子遊戲
首先是實作練習-販賣機程式
1.

menu={ #創一個字典
    "披薩":300,
    "爆米花":200,
    "薯條":90,
    "洋芋片":60,
    "吉拿棒":120,
    "可樂":70,
    "檸檬紅茶":60,
}
print("菜單")
print("-------------")
for item,price in menu.items():
    print(f"{item}:{price}")
#items()可以把字典中的鍵與值都印出來,這裡的item會對應上面的披薩薯條,price會對應上面的價格
cart=[] #創造一個空的列表

輸出結果為:
https://ithelp.ithome.com.tw/upload/images/20240919/20167787vK5ZOy2UFd.png
2.

menu={ #創一個字典
    "披薩":300,
    "爆米花":200,
    "薯條":90,
    "洋芋片":60,
    "吉拿棒":120,
    "可樂":70,
    "檸檬紅茶":60,
}
print("菜單")
print("-------------")
cart=[] #需要一個購物車列表來儲存要買的商品
total=0 #總金額原本為零
for item,price in menu.items():
#items()可以把字典中的鍵與值都印出來,這裡的item會對應上面的披薩薯條,price會對應上面的價格
    print(f"{item}:{price}")
while True:
    food=input("請輸入一個菜單項目:") #輸入q就會終止並跳出迴圈
    if food=="q":
        break
    elif menu.get(food) is None: #如果輸入的商品不在菜單中
        print("沒有此商品")
    else:
        cart.append(food) #當選擇一個商品後,會把商品加進購物車列表中
        total+=menu.get(food) #每增加一個商品時就會加上此商品的價格,get()方法可以取得它的值(價格)
        print(food,end=" ")
print(f"總共:{total}元")

輸出結果為:
https://ithelp.ithome.com.tw/upload/images/20240919/20167787jHVCPSwvYE.png
再來要分享的是random的4個常用方法

import random #先導入random模組

#randint()
print(random.randint(1,10)) #找1到10之間的數

#random()
print(random.random()) #找到0到1之間的浮點數

#列表中隨機選擇一個元素
options=["剪刀","石頭","布"] #有個列表options
rand_option=random.choice(options) #隨機選擇列表中的一個元素
print("電腦選擇的是:",rand_option)

#將一個列表打亂
cards=["1","2","3","4","5","6","7","8","9","10","11","12","13"] #創一個撲克牌列表
random.shuffle(cards) #shuffle()方法可將整個列表打亂
print(cards) #輸出的順序每次都不同

輸出結果為:
https://ithelp.ithome.com.tw/upload/images/20240919/20167787CkdkGwfIC8.png
接著是實作練習-猜數字遊戲(使用random)

import random
low = 1
high = 100
number = random.randint(low,high) #randint()可在指定範圍(1-100)內隨機產生一個整數
guesses=0
while True:
    guess = int(input(f"請猜一個介於{low}~{high}之間的整數:"))
    guesses += 1 #猜的次數,每猜一次就+1
    if guess < number:
        print("猜的數字太小了!")
    elif guess > number:
        print("猜的數字太大了!")
    else:
        print(f"恭喜你猜對了!這個數字就是{number}")
        print(f"你總共猜了{guesses}次")
        break #讓整個迴圈終止

輸出結果為:
https://ithelp.ithome.com.tw/upload/images/20240919/20167787X68M17Xlkq.png
再來要分享的是實作練習-猜拳遊戲
#剪刀(Scissors)/石頭(Rock)/布(Paper)

import random #讓電腦有隨機出拳的功能
player=None #玩家尚未出拳
computer=None
running=True #出拳會連續地進行
options=("剪刀","石頭","布")

while running:
    player=input("請輸入剪刀、石頭、布:")
    while player not in options: #當玩家沒有輸入剪刀/石頭/布其中一個選項時
        input("輸入錯誤,請重新輸入剪刀、石頭、布:")
    computer=random.choice(options) #電腦隨機選擇用choice()方法,從options列表中隨機抽取一個
    print(f"玩家:{player},電腦:{computer}") #印出玩家和電腦的選擇
    if player == computer: #玩家出的拳等於電腦出的拳
        print("平手")
    elif player == "剪刀" and computer == "布":
        print("玩家勝利")
    elif player == "石頭" and computer == "剪刀":
        print("玩家勝利")
    elif player == "布" and computer == "石頭":
        print("玩家勝利")
    else: #其他狀況則為電腦勝利
        print("電腦勝利")
    play_again=input("再玩一局?(y/n)").lower() #問玩家是否繼續玩
    if not play_again == "y": #如玩家沒輸入"y"時,則中斷此迴圈
        running=False #中斷迴圈
print("謝謝來玩此遊戲!") #如跳出迴圈後則顯示此行

輸出結果為:
https://ithelp.ithome.com.tw/upload/images/20240919/20167787QthM3V5Kwh.png
最後要分享的是實作練習-骰子遊戲(前半部):
-以下為程式碼截圖-
#如想改骰子點數,只需在第52行前補上number=5(自行輸入),然後在將number輸進第53行,變成dice_art.get(number)[i]即可
https://ithelp.ithome.com.tw/upload/images/20240919/20167787kXvAAyoqB9.png
https://ithelp.ithome.com.tw/upload/images/20240919/20167787sLGygfwHr1.png
https://ithelp.ithome.com.tw/upload/images/20240919/20167787yI2aLKXwJY.png
輸出結果為:
https://ithelp.ithome.com.tw/upload/images/20240919/20167787kK6TMUok00.png


今天的分享就到這裡結束!下一篇會繼續寫關於骰子遊戲的下半部。
參考網址:https://www.youtube.com/watch?v=lvH4-4iYjgs&list=LL&index=4


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

尚未有邦友留言

立即登入留言