[討論] 黑馬 python 叫成 01-16 if 案例演練 石頭剪刀布 - 討論區

[討論] 黑馬 python 叫成 01-16 if 案例演練 石頭剪刀布

文章瀏覽次數 1117 文章回覆數 0

Mingo

Mingo圖像(預設)

2021-04-29 22:59:27

From:27.52.128.136

102 石頭剪刀布 01 明確目標和需求

目標
1. 強化多個條件的邏輯運算
2. 體會 import 導入模塊(“工具包”)的使用

需求
1. 從控制台輸入要出的拳 —— 石頭(1)/剪刀(2)/布(3) int(input())
2. 電腦隨機出拳 —— 先假定電腦只會出石頭,完成整體代碼功能
3. 比較勝負 沒有新的規則 就跟妳以前完的一樣

103 石頭剪刀布 02 玩家和電腦出拳

# 從控制台輸入要出的拳 —— 石頭(1)/剪刀(2)/布(3)
# 轉換成 int 方便之後的比較
player = int(input("請出拳 石頭(1)/剪刀(2)/布(3):"))
print('玩家出的拳是:%d' % player)
# 假定電腦永遠出石頭
computer = 1
print('電腦出的拳是:%d' % computer)
# 也可以寫成
# print('玩家出的拳是:%d - 電腦出的拳是%d' % (player , computer))

完成了輸入輸出的部份
我們可以對代碼做個測試

104 石頭剪刀布 03 判斷勝負

player = int(input("請出拳 石頭(1)/剪刀(2)/布(3):"))
computer = 1
print('玩家出的拳是:%d - 電腦出的拳是%d' % (player , computer))

# 比較勝負

勝利的可能 玩家角度 有三種

玩家 電腦 結果
石頭 剪刀 win
剪刀 win
石頭 win

以上的條件完成認伊個玩家就贏了 所以使用 or

if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print("噢耶!!!電腦弱爆了!!!")

# 平手的結果 玩家與電腦相等
elif player == computer:  
    print("心有靈犀,再來一盤!")
else:  # 以上的條件都不成立 電腦營了  
    print("不行,我要和你決戰到天亮!")

改變自己輸入的值試試
你已經可以跟笨笨的電腦玩耍啦!

106 石頭剪刀布 05 隨機數的使用

在 Python 中,要使用隨機數,首先需要導入 隨機數 的 模塊 —— “工具包”
import random
導入模塊後,可以直接在 模塊名稱 後面敲一個 . 然後按 Tab 鍵,會提示該模塊中包含的所有函數{ipython}

random.randint(a, b) ,返回 [a, b] 之間的整數,包含 a 和 b
例如:
random.randint(12, 20)  # 生成的隨機數n: 12 <= n <= 20   
random.randint(20, 20)  # 結果永遠是 20   
random.randint(20, 10)  # 該語句是錯誤的,下限必須小於上限

107 石頭剪刀布 06 電腦隨機出拳

# 完成最後一步 與電腦猜拳
# 島入 random 工具包
import random

player = int(input("請出拳 石頭(1)/剪刀(2)/布(3):"))
# 為了讓電腦能夠隨機出全 從 1 . 2 . 3. 任選一個我門要用 random.randint()
computer = random.randint(1,3)
print('玩家出的拳是:%d - 電腦出的拳是%d' % (player , computer))
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print("噢耶!!!電腦弱爆了!!!")

elif player == computer:  
    print("心有靈犀,再來一盤!")
else:
    print("不行,我要和你決戰到天亮!")

你也可以完成自己的小遊戲 如猜數字
※最後更新時間:2021-04-29 23:40:48 From:27.52.138.31 By:Mingo