My Rock Paper Scissors code не работает, и я предполагаю, что это потому, что я неправильно использую возвращаемое значение. Что мне делать?Где именно возвращается значение функции функции python?
EDIT, поэтому я хранил возвращение как этот
def results (x, y):
if (x == "R" or x == "rock" or x == "r" or x == "Rock" or x == "ROCK") and (y == "S" or y == "s" or y == "Scissors" or y == "SCISSORS" or y == "scissors"):
winner = 1
return winner
Но как я получаю «победитель» на печать за пределами функции?
OLD
player1 = input ("Player 1: Please enter either Rock, Paper or Scissors:")
player2 = input ("Player 2: Please enter either Rock, Paper or Scissors:")
def results (x, y):
if (x == "R" or x == "rock" or x == "r" or x == "Rock" or x == "ROCK") and (y == "S" or y == "s" or y == "Scissors" or y == "SCISSORS" or y == "scissors"):
return 1
else:
if (x == "rock" or x == "r" or x =="R" or x == "Rock" or x == "ROCK") and (y == "P" or y == "p" or y == "paper" or y == "Paper" or y == "PAPER"):
return 2
else:
if (x == "rock" or x =="R" or x == "r" or x == "Rock" or x == "ROCK") and (y == "rock" or y =="R" or y == "r" or y =="Rock" or y == "ROCK"):
return 0
else:
print ("Sorry, I didn't understand your input")
results (player1, player2)
if results == 1:
print ("Player 1 wins!")
else:
if results == 2:
print("Player 2 wins!")
else:
if results == 0:
print("It was a tie!")
Вам может быть полезно ознакомиться с руководством по Python функции - в частности, как их называть. Это официальная, есть и другие: http://docs.python.org/2/tutorial/controlflow.html#defining-functions –
Также, пожалуйста, не расширяйте, если так много утверждений. Попробуйте что-то наподобие 'rock_list = [" rock "," R "," r "]' и 'if x in rock_list:' это выглядит лучше, но это только стиль, поэтому вы по-прежнему выбираете его использовать или нет. – Lafexlos