[英]Issues with counters in while loop Python
我的代碼中目前有一個問題,我正在嘗試創建一個剪刀石頭布游戲。 我的計數方法似乎不起作用(當程序循環執行時,輸贏計數器都為0),所以我希望可以得到一些幫助。 我對Python和堆棧溢出相當陌生,因此請記住這一點。 很抱歉,代碼太長了:
import random
import time
win=0
loss=0
def compare():
if choice == "rock" and opp == "paper":
print("You lose!")
loss+1
elif choice == "paper" and opp == "scissors":
print("You lose!")
loss+1
elif choice== "scissors" and opp == "rock":
print("you lose")
loss+1
elif choice == "scissors" and opp == "paper":
print("you win")
win+1
elif choice == "rock" and opp =="scissors":
print("you win")
win+1
elif choice == "paper" and opp == "rock":
print("you win!")
win+1
else:
print("...")
op=["rock","paper","scissors"]
phrase=["Rock paper scissors shoot!","janken bo!", "pierre-feuille-ciseaux!","papier, kamień, nożyczki!"]
while True:
print ("You have",win,"wins and",loss,"losses")
choice=input(random.choice(phrase)).lower()
if choice not in op:
print("Rock paper or scissors")
continue
else:
print()
opp=random.choice(op)
print (opp)
compare()
while opp==choice:
choice=input(random.choice(phrase)).lower()
time.sleep(1)
opp=random.choice(op)
print (opp)
compare()
感謝您的幫助。 謝謝
每次編寫variable + 1
,都不會更改變量。 例如在:
def compare():
if choice == "rock" and opp == "paper":
print("You lose!")
loss+1
loss+1
不執行任何操作,即未分配值。
您需要將值分配給變量。 例如: loss += 1
歡迎來到StackOverflow!
在您的if statements
您實際上並沒有增加計數。 您需要win = win + 1
而loss = loss + 1
def compare():
if choice == "rock" and opp == "paper":
print("You lose!")
loss = loss + 1
現在,您還可以執行一些“速記”語法。 loss += 1
等於loss = loss + 1
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.