2016-07-31 46 views
-5

我正在使用Python。目前它是新的。我正在用勝利計數器創建一個岩石紙剪刀遊戲。我在網上查找了一些解決方案,但它不適合我。我即將完成它。但這只是一個錯誤,我無法讓計數器工作。它沒有顯示任何勝利在程序結束時計數Rock,paper,scissors Tally counter python

from random import randint 

print ("Rock ,Paper,Scissors game.") 

#Function to get computer input 
def generate(): 
    comlist = ["rock","paper","scissors"] 
    comans = comlist[randint(-1,2)] 
    if comans == "rock": 
     print ("Computer choose rock.") 
    elif comans == "paper" : 
     print ("Computer choose paper.") 
    elif comans == "scissors": 
     print ("Computer choose scissors.") 
    return comans 

#Function to get user input 
def user(): 
    userchoice = input ("Choose rock, paper , or scissors.") 
    while userchoice != 'rock' and userchoice != 'paper' and userchoice != 'scissors': 
     print ("Invalid input. Please enter again") 
     userchoice = input ("Choose rock, paper , or scissors.") 
    if userchoice == "rock": 
     print ("You choose rock.") 
     choice = userchoice 
    elif userchoice == "paper" : 
     print ("You choose paper.") 
     choice = userchoice 
    else: 
     userchoice == "scissors" 
     print ("You choose scissors.") 
     choice = userchoice 
    return choice 

#Function to determine winner 
def result(comans ,choice): 
    global result_set 
    if choice == comans: 
     print ("Tie") 
    elif choice == "rock": 
     if computer == "paper": 
      print ("You lose") 
     else : 
      print("You win") 
      result_set ='win' 
    elif choice == "paper": 
     if computer == "scissors": 
      print("You lose") 
     else: 
      print("You win") 
      result_set ='win' 
    elif choice == "scissors": 
     if computer == "rock": 
      print("You lose") 
     else: 
      print("You win") 
      result_set ='win' 

#Function to get win taly 
def wincounter (result,guess,computer): 
    if result_set == 'win': 
     win += 1 
    else: 
     pass 
    print (win) 

#Main program 
counter = 0 
win = 0 
diffulty = input(' Please enter diffulty.("1" for easy , "2" for medium, "3" for hard)') 
while diffulty != '1' and diffulty != '2' and diffulty != '3': 
    print ('Invalid input') 
    diffulty = input(' Please enter diffulty.("1" for easy , "2" for medium, "3" for hard)') 
if diffulty == '1': 
    print ("You have choose easy") 
    counter = 1 
    guess = user() 
    computer = generate() 
    result (computer, guess) 
    while counter < 3: 
     guess = user() 
     computer = generate() 
     result (computer, guess) 
     counter +=1 
if diffulty == '2': 
    print ("You have choose medium") 
    counter = 1 
    guess = user() 
    computer = generate() 
    result (computer, guess) 
    while counter < 5: 
     guess = user() 
     computer = generate() 
     result (computer, guess) 
     counter +=1 
if diffulty == '3': 
    print ("You have choose hard") 
    counter = 1 
    guess = user() 
    computer = generate() 
    result (computer, guess) 
    while counter < 10: 
     guess = user() 
     computer = generate() 
     result (computer, guess) 
     counter +=1 

這是我的代碼。它有點凌亂。對不起,因爲我仍然是新的Python。謝謝您的幫助。 運行後。

Choose rock, paper , or scissors.rock 
You choose rock. 
Computer choose scissors. 
You win 
Choose rock, paper , or scissors.rock 
You choose rock. 
Computer choose rock. 
Tie 
Choose rock, paper , or scissors.rock 
You choose rock. 
Computer choose rock. 
Tie 

這是假設顯示在上一輪結束後的勝利結果。

+0

現在有什麼問題?什麼不起作用? – Mehari

+0

首先請解釋「不工作」是什麼:崩潰?錯誤的結果?...然後請只顯示(或者至少突出顯示相關部分),沒有人真正喜歡通過讀取100行代碼。見[問]和[mcve]。 – Julien

+0

你不使用你的wincounter功能的參數 – samgak

回答

0

我修復了您的代碼。 。 。

from random import randint 

print ("Rock ,Paper,Scissors game.") 

#Function to get computer input 
def generate(): 
    comlist = ["rock","paper","scissors"] 
    comans = comlist[randint(-1,2)] 
    if comans == "rock": 
     print ("Computer choose rock.") 
    elif comans == "paper" : 
     print ("Computer choose paper.") 
    elif comans == "scissors": 
     print ("Computer choose scissors.") 
    return comans 

#Function to get user input 
def user(): 
    userchoice = input ("Choose rock, paper , or scissors.") 
    while userchoice != 'rock' and userchoice != 'paper' and userchoice != 'scissors': 
     print ("Invalid input. Please enter again") 
     userchoice = input ("Choose rock, paper , or scissors.") 
    if userchoice == "rock": 
     print ("You choose rock.") 
     choice = userchoice 
    elif userchoice == "paper" : 
     print ("You choose paper.") 
     choice = userchoice 
    else: 
     userchoice == "scissors" 
     print ("You choose scissors.") 
     choice = userchoice 
    return choice 

#Function to determine winner 
def result(comans ,choice): 
    result_set = '' 
    if choice == comans: 
     print ("Tie") 
    elif choice == "rock": 
     if computer == "paper": 
      print ("You lose") 
     else : 
      print("You win") 
      result_set ='win' 
    elif choice == "paper": 
     if computer == "scissors": 
      print("You lose") 
     else: 
      print("You win") 
      result_set ='win' 
    elif choice == "scissors": 
     if computer == "rock": 
      print("You lose") 
     else: 
      print("You win") 
      result_set ='win' 

    wincounter(result_set) 

#Function to get win taly 
def wincounter (result): 
    global win 
    if result == 'win': 
     win += 1 
    else: 
     pass 
    #print (win) 


def print_win_count(): 
    global win 
    print ('you have win '+ str(win) + ' times') 

#Main program 
counter = 0 
win = 0 
diffulty = input(' Please enter diffulty.("1" for easy , "2" for medium, "3" for hard)') 
while diffulty != '1' and diffulty != '2' and diffulty != '3': 
    print ('Invalid input') 
    diffulty = input(' Please enter diffulty.("1" for easy , "2" for medium, "3" for hard)') 
if diffulty == '1': 
    print ("You have choose easy") 
    counter = 1 
    guess = user() 
    computer = generate() 
    result (computer, guess) 
    while counter < 3: 
     guess = user() 
     computer = generate() 
     result (computer, guess) 
     counter +=1 
    print_win_count() 
if diffulty == '2': 
    print ("You have choose medium") 
    counter = 1 
    guess = user() 
    computer = generate() 
    result (computer, guess) 
    while counter < 5: 
     guess = user() 
     computer = generate() 
     result (computer, guess) 
     counter +=1 
    print_win_count() 
if diffulty == '3': 
    print ("You have choose hard") 
    counter = 1 
    guess = user() 
    computer = generate() 
    result (computer, guess) 
    while counter < 10: 
     guess = user() 
     computer = generate() 
     result (computer, guess) 
     counter +=1 
    print_win_count(0) 
+0

哦哇..感謝很多 –

相關問題