python案例:使用if語句實現一個猜拳游戲


任務要求:

在控制台中提示輸入石頭、剪刀、布,按回車鍵,然后給出游戲結果。

分析:

我們知道在游戲規則中,石頭克剪刀,剪刀克布,布克石頭。但是這在計算機中並不是很好直接的表示,因此我們分別用0、1、2分別代表游戲中的石頭剪刀布。

那么電腦該如何出拳呢?那就該用到python中的一個模塊random中的一個方法random.randint()在0~2范圍內產生一個隨機整數,就表電腦出拳了。

random.randint()的用法如下:

# 首先導入模塊
import random
# 調用時傳入兩個整型數字,返回從1-2中任意一個整型數字
a = random.randint(1,2)
# 打印出1或者2
print(a)


# 再或者,那么b就可能是1-10中的任意一個數字(包括1和10)
b = random.randint(1,10)
print(b)

#在本案例中,我們只要0-2中的任意一個數即可,故
computer = random.randint(0,2)

玩家出拳的話,可以從鍵盤輸入0-2中的任意一個數並保存在一個變量中,然后用if語句比較得出結果即可。

代碼實現:

import random

# 從鍵盤獲取用戶的輸入,只能輸入0-2中的數字,否則結果會不正確,以后會有升級版
person = input('請輸入:石頭(0)、剪刀(1)、布(2):')
# input 返回的是一個字符串類型,randint(0, 2)返回的是int類型,需要把person強制轉換成int類型,類型一致才可以比較
person = int(person)
computer = random.randint(0, 2)

# 為了更友好的顯示信息
if person == 0:
    print('玩家:石頭')
elif person == 1:
    print('玩家:剪刀')
else:
    print('玩家:布')
if computer == 0:
    print('電腦:石頭')
elif computer == 1:
    print('電腦:剪刀')
else:
    print('電腦:布')

# 如果出拳一樣就是平局
if person == computer:
    print('你好厲害呀!居然和我打成平局!')

# 玩家:石頭 電腦:剪刀
# 玩家:剪刀 電腦:布
# 玩家:布 電腦:石頭   這三種情況下玩家贏

elif person == 0 and computer == 1 or person == 1 and computer == 2 or person == 2 and computer == 0:
    print('恭喜你,你贏了!')
# 其他情況都是玩家輸
else:
    print('真遺憾,你輸了!')

 

運行示意圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM