Recientemente comencé a aprender Python después de aprender desarrollo web. Quería probar mi primer programa en mi terminal VSCode, pero no funciona. Mi programa funciona en mi terminal Mac. Tengo la última versión de VSCode y MacOS Mojave. Yo uso Python 3.8. Ejecuto el código con el complemento "Code Runner".

Este es mi programa:

import random
import sys
print('ROCK, PAPER, SCRISSORS')
wins = 0
losses = 0
ties = 0
while True:
    print('--- %s Wins, %s Losses, %s ties ---' % (wins, losses, ties))
    while True: #This While loop activates if a user doesn't type 'r', 'p', 's', or 'q'.
        print(
            "Enter a move: -|- rocks = r, paper = p, scissors = s -|- You can quit by typing 'q'")
        userMove = input()
        if userMove == 'q':
            sys.exit()
        elif userMove == 'r' or userMove == 's' or userMove == 'p':
            break
    randomNumber = random.randint(1, 3)
    myMove = ''
    losing = 'You lost'
    winning = 'You won!!!'
    tie = 'It s a tie. I will beat you later!'
    if randomNumber == 1:
        myMove = 'rock'
    elif randomNumber == 2:
        myMove = 'paper'
    else:
        myMove = 'scissors'
    if (userMove == 'r' and myMove == 'paper' or userMove == 'p' and myMove == 'rock' or userMove == 's' and myMove == 'paper'):
        print(winning)
        wins = wins + 1
    elif (userMove == 'r' and myMove == 'rock' or userMove == 'p' and myMove == 'paper' or userMove == 's' and myMove == 'scissors'):
        print(tie)
        ties = ties + 1
    elif (userMove == 'r' and myMove == 'scissors' or userMove == 'p' and myMove == 'scissors' or userMove == 's' and myMove == 'rock'):
        print(losing)
        losses = losses + 1

Básicamente es un simple juego de piedra, papel o tijera. Cuando escribo 'r', 'p' o 's', dice esto:

'NameError: el nombre' r 'no está definido'

También intenté ejecutar el terminal mac en vscode, pero eso no funcionó por alguna razón.

¿Es esto un error o es mi culpa? Cualquier respuesta sería apreciada.

EDITAR:

Es un error en mi complemento "Code Runner". Si ha experimentado el mismo problema, vaya a la configuración JSON de Code Runner y cambie "Python -u" a "python3".

0
Artii4 16 jul. 2020 a las 13:18

2 respuestas

La mejor respuesta

Intenté ejecutar su programa dentro de eric6 IDE y dentro de Python IDLE y funcionó sin Cualquier problema / problemas.

Si tiene varias versiones de Python (específicamente Python 2.x), en la esquina inferior izquierda verifique si la versión de Python que está utilizando no es realmente 2.x ya que en Python 2 usa raw_input en lugar de entrada y podría explicar el comportamiento que está obteniendo.

Si eso no funciona, probablemente será un problema por parte de VS Code.

0
MatejR 16 jul. 2020 a las 10:33

¿Supongo que estás usando Python 2? (puede verlo ejecutando python -V)

Realmente debería cambiar a python3 si es posible, pero si no, debe usar la función 'raw_input' en lugar de la función 'input'

En python2, la función input () evalúa la entrada del usuario como una expresión de python. Esto significa que si ingreso 2+2, no obtendrá una cadena que contenga "2 + 2" pero 4

Y si ingresa una letra (p en su ejemplo), intentará encontrar una variable llamada así. Como no tiene una variable p en su código, arroja un error.

0
bastien girschig 16 jul. 2020 a las 10:30