今天要分享的是實作練習-販賣機程式、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=[] #創造一個空的列表
輸出結果為:
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}元")
輸出結果為:
再來要分享的是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) #輸出的順序每次都不同
輸出結果為:
接著是實作練習-猜數字遊戲(使用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 #讓整個迴圈終止
輸出結果為:
再來要分享的是實作練習-猜拳遊戲:
#剪刀(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("謝謝來玩此遊戲!") #如跳出迴圈後則顯示此行
輸出結果為:
最後要分享的是實作練習-骰子遊戲(前半部):
-以下為程式碼截圖-
#如想改骰子點數,只需在第52行前補上number=5(自行輸入),然後在將number輸進第53行,變成dice_art.get(number)[i]即可
輸出結果為:
今天的分享就到這裡結束!下一篇會繼續寫關於骰子遊戲的下半部。
參考網址:https://www.youtube.com/watch?v=lvH4-4iYjgs&list=LL&index=4