這是一段代碼,我試圖在其中設定石頭剪刀布的規則
table = {"paper" and "paper" : "Draw",
"paper" and "rock" : "Win",
"paper" and "scissors" : "You Lose",
"rock" and "paper" : "You Lose",
"rock" and "rock" : "Draw",
"rock" and "scissors" : "Win",
"scissors" and "paper" : "Win",
"scissors" and "rock" : "You Lose",
"scissors" and "scissors" : "Draw"}
在這里,我試圖發送石頭剪刀布的結果和從 rps 串列中隨機選擇的值
@client.command()
async def rockpaperscissors(ctx, rpschoice):
x= random.choice(rps)
await ctx.send(x)
await ctx.send(table[rpschoice and x])
這是rps串列
rps=["rock","paper","scissors"]
該程式向我產生了完全隨機的結果,我認為這是字典錯誤的結果。如果程式可以運行,它將給出計算機選擇的值和游戲的結果。任何幫助將非常感激。
uj5u.com熱心網友回復:
如果您想保留一個具有“2 個鍵”的字典的資料結構,就像這樣,您可以使用tuple. 元組是可散列的,因此可以是字典的鍵:
table = {("paper", "paper") : "Draw",
("paper", "rock") : "Win",
("paper", "scissors") : "You Lose",
("rock", "paper") : "You Lose",
("rock", "rock") : "Draw",
("rock", "scissors") : "Win",
("scissors", "paper") : "Win",
("scissors", "rock") : "You Lose",
("scissors", "scissors") : "Draw"}
然后,您可以將其稱為:
result = table[('paper', 'rock')]
請注意,還有許多其他方法可以解決這個問題,我只是想提出一個與問題類似的資料結構。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/325168.html
上一篇:是否有一個檔案或配置或設定可以忽略遠程版本庫中的檔案/檔案夾并防止下載到本地?
下一篇:關于Maps和泛型的困惑
