2016-07-31 38 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

哦哇..感谢很多 –

相关问题