Estoy tratando de comparar la entrada del usuario con la respuesta que imprime la computadora de la lista. ¿Alguien sabe por qué mis declaraciones if no funcionan?

import random

while True:

    def rps():
        user = input("Rock Paper Scissors: ")
        answers = ["Rock", "Paper", "Scissors"]
        print(random.choice(answers))

        if user == "r" and answers == "Rock":
            print("Tie")

        if user == "r" and answers == "Paper":
            print("You Lose")

        if user == "r" and answers == "Scissors":
            print("You Win")

    rps()

-1
Lance Ma 27 feb. 2021 a las 03:43

2 respuestas

La mejor respuesta

Necesita establecer una variable para la elección aleatoria, como esta:

import random

while True:

    def rps():
        user = input("Rock Paper Scissors: ")
        answers = ["Rock", "Paper", "Scissors"]
        choice = random.choice(answers)
        print(choice)

        if user == "r" and choice == "Rock":
            print("Tie")

        if user == "r" and choice == "Paper":
            print("You Lose")

        if user == "r" and choice == "Scissors":
            print("You Win")

    rps()

¡Asegúrese de agregar más lógica para otras entradas de usuario!

2
Ryan Laursen 27 feb. 2021 a las 00:47

¿Querías un programa como este?

Configuré tu código un poco

import random

answers = ["Rock", "Paper", "Scissors"]
options = ['r', 'p', 's', 'q']

def rps():
    while True:

        print("[r] Rock")
        print("[p] Paper")
        print("[s] Scissors")
        print("[q] Exit")
        user = input("Enter your choice: ")
        if user not in options:
            print("Wrong choice, try again.")
            continue
        choice = random.choice(answers)
        print('Computer answer: ', choice)

        if user == 'r':
            if choice == "Rock":
                print("Tie")
            elif choice == "Paper":
                print("You lose")
            else:
                print("You win")
        elif user == 'p':
            if choice == "Rock":
                print("You win")
            elif choice == "Paper":
                print("Tie")
            else:
                print("You lose")
        elif user == 's':
            if choice == "Rock":
                print("You lose")
            elif choice == "Paper":
                print("You win")
            else:
                print("Tie")
        else:
            break

rps()
0
jade jamig 27 feb. 2021 a las 01:21