石頭剪刀布python程式設計設計
阿新 • • 發佈:2019-01-27
額,其實最不懂的是,如何才能造一個 a>b b>c c>a 的條件
是否需要寫三個函式?如果遇到多個數值無序或者亂序的話,該如何處理?
class類沒有學的很清楚,所以程式設計的思路需要再理清一下,嗯打個點記錄一下
def compare(op,pc): if op == "石頭": if pc == "石頭": print("人類:{} vs 電腦:{}".format(op,pc)) print("平局") elif pc == "剪刀": print("人類:{} vs 電腦:{}".format(op,pc)) print("人類贏,電腦輸") elif pc == "布": print("人類:{} vs 電腦:{}".format(op,pc)) print("人類輸,電腦贏") if op == "剪刀": if pc == "剪刀": print("人類:{} vs 電腦:{}".format(op,pc)) print("平局") elif pc == "布": print("人類:{} vs 電腦:{}".format(op,pc)) print("人類贏,電腦輸") elif pc == "石頭": print("人類:{} vs 電腦:{}".format(op,pc)) print("人類輸,電腦贏") if op == "布": if pc == "布": print("人類:{} vs 電腦:{}".format(op,pc)) print("平局") elif pc == "石頭": print("人類:{} vs 電腦:{}".format(op,pc)) print("人類贏,電腦輸") elif pc == "剪刀": print("人類:{} vs 電腦:{}".format(op,pc)) print("人類輸,電腦贏") import random seq = ["石頭","剪刀","布"] computer_decision = seq[random.randint(0,2)] operator_decision = seq[int(input("請輸入一個0-2範圍的數字"))] compare(operator_decision,computer_decision)
第一版程式碼,格式不是很好看,嗯
--------------------------------------------------------------------------------------------------------------------------------
看了一下老師寫的
用的是if(a>b)or(b>c)or(c>a) 就搞定了。。。
然後列舉值是從1開始。。。我偷懶用了0,感覺更麻煩了
接下來改造一下這個程式碼
import random seq = ["石頭","剪刀","布"] computer_decision = seq[random.randint(0,2)] operator_decision = seq[int(input("請輸入一個0-2範圍的數字"))] def compare(op,pc): print("人類:{} vs 電腦:{}".format(op,pc)) if((op == "石頭" and pc == "剪刀") or (op == "剪刀" and pc == "布") or (op == "布" and pc == "石頭")): print("人類輸,電腦贏") elif op == pc : print("平局") else : print("人類輸,電腦贏") compare(operator_decision,computer_decision)
目前還不懂類,等學到類再把程式更新一下