Actualmente estoy tratando de codificar un programa de calificaciones con letras basado en la escala de calificaciones de 0 a 100. Soy nuevo en Python. El siguiente código es el que estoy usando y está recibiendo un error que no puedo detectar.

El código:

letterGrade = "F"
    if grade >= 90 :
            letterGrade = "A"
    elif grade >= 80 :
            letterGrade = "B"
    elif grade >= 70 :
            letterGrade = "C"
    elif grade >= 60 :
            letterGrade = "D"

El error:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-29-4d6de02f92d4> in <module>
      1 #e
      2 letterGrade = "F"
----> 3 if grade >= 90 :
      4         letterGrade = "A"
      5 elif grade >= 80 :

NameError: name 'grade' is not defined
0
kvcper 5 oct. 2021 a las 06:09

3 respuestas

La mejor respuesta

Generalmente, se genera un NameError cuando intenta utilizar una variable o un nombre de función que no es válido. Esto significa que no puede declarar una variable después de intentar usarla en su código. Python no sabría qué desea que haga la variable. Aquí, no pudo declarar la variable grado. Para manejar este problema, puede dar un valor directo a la calificación o hacerlo como una variable de entrada. Entonces, tiene que ser así

grade = int(input()) or 75
    if grade >= 90 :
            letterGrade = "A"
    elif grade >= 80 :
            letterGrade = "B"
    elif grade >= 70 :
            letterGrade = "C"
    elif grade >= 60 :
            letterGrade = "D"
print(letterGrade)
0
Python learner 5 oct. 2021 a las 03:22

Básicamente, el error es decir que no hay una variable definida como 'grado' en su código. Para solucionar este problema, deberá agregar la línea de abajo arriba de su código actual.

grade = 91

Esto luego establecería la calificación de letra igual a una 'A', o al rango en el que se encuentre su calificación numérica (si no lo configuró en 91 como lo hice).

El código completo se vería así:

grade = 91
letterGrade = "F"
    if grade >= 90 :
            letterGrade = "A"
    elif grade >= 80 :
            letterGrade = "B"
    elif grade >= 70 :
            letterGrade = "C"
    elif grade >= 60 :
            letterGrade = "D"
0
PotSkill 5 oct. 2021 a las 03:21

Está utilizando una calificación en lugar de una calificación en letras y la calificación no está definida en su programa

grade = int(input())
LetterGrade = "F"
    if grade >= 90
            letterGrade = "A"
    elif grade >= 80 :
            letterGrade = "B"
    elif grade >= 70 :
            letterGrade = "C"
    elif grade >= 60 :
            letterGrade = "D"

Puede cambiar la variable lettergrade para calificar así.

-2
Satyam Shankar 5 oct. 2021 a las 03:32