Enviar una letra-Qué está mal en mi código?


#1


https://www.codecademy.com/es/courses/python-beginner-en-Rj5fy/1/3?curriculum_id=50fc7aab5fab3aa9c2002444


cuando mando el resultado me envía el siguiente mensaje:

¡Uy! Probá otra vez. Tu función falló cuando se ingresó 101 como dato de entrada.

Y por más que he podido visualizar los datos ingresados, desnudando las variables lo máximo posible, no he encontrado donde esta el error, si el resultado es el correcto. Gracias.


`
Lloyd = {
"nombre":"Lloyd",
"tareas": [90,97,75,92],
"pruebas": [ 88,40,94],
"examenes": [ 75,90]
}
Alice = {
"nombre":"Alice",
"tareas": [100,92,98,100],
"pruebas": [82,83,91],
"examenes": [89,97]
}
Tyler = {
"nombre":"Tyler",
"tareas": [0,87,75,22],
"pruebas": [0,75,78],
"examenes": [100,100]
}
estudiantes = [Lloyd,Alice,Tyler]

for i in range (len(estudiantes)):
print ("")
print estudiantes[i]['nombre']
print str(estudiantes[i]['tareas'])
print str(estudiantes[i]['pruebas'])
print str(estudiantes[i]['examenes'])

def promedio(lista):
return sum(lista)/len(lista)

def calcularPromedio(estudiante):
t = promedio(estudiante["tareas"])*.1
p = promedio(estudiante["pruebas"])*.3
e = promedio(estudiante["examenes"])*.6
print t, p, e
return t + p + e

print ("")
print "Lloyd " + str(calcularPromedio(Lloyd))
print "Alice " + str(calcularPromedio(Alice))
print "Tyler " + str(calcularPromedio(Tyler))

def obtenerCalificacionenLetras(estudiante):

nota = calcularPromedio(estudiante)
if nota >= 90:
    return "A"
elif nota >= 80 or nota < 90:
    return "B"
elif nota >= 80 or nota < 70:
    return "C"
elif nota >= 70 or nota < 60:
    return "D"
elif nota < 60:
    return "F"

obtenerCalificacionenLetras(Lloyd)`


#2
 print extudiante[i]['tareas']
print calcularPromedio(lloyd)    # alice, tyler
obtenerCalificacionenLetras(lloyd)

#3

Thanks.
The quote on the last phrase, was a small wrong only in this forum. Dont apper in my code.
But still send the same message. Look it:

Lloyd = {
"nombre":"Lloyd",
"tareas": [90,97,75,92],
"pruebas": [ 88,40,94],
"examenes": [ 75,90]
}
Alice = {
"nombre":"Alice",
"tareas": [100,92,98,100],
"pruebas": [82,83,91],
"examenes": [89,97]
}
Tyler = {
"nombre":"Tyler",
"tareas": [0,87,75,22],
"pruebas": [0,75,78],
"examenes": [100,100]
}
estudiantes = [Lloyd,Alice,Tyler]

for i in range (len(estudiantes)):
print ("")
print estudiantes[i]['nombre']
print estudiantes[i]['tareas']
print estudiantes[i]['pruebas']
print estudiantes[i]['examenes']

def promedio(lista):
return sum(lista)/len(lista)

def calcularPromedio(estudiante):
t = promedio(estudiante["tareas"])*.1
p = promedio(estudiante["pruebas"])*.3
e = promedio(estudiante["examenes"])*.6
return t + p + e

print ("")
print calcularPromedio(Lloyd)
print calcularPromedio(Alice)
print calcularPromedio(Tyler)

def obtenerCalificacionenLetras(estudiante):

nota = calcularPromedio(estudiante)
if nota >= 90:
    print "A"
    return "A"
elif nota >= 80 and nota < 90:
    print "B"
    return "B"
elif nota >= 70 and nota < 80:
    print "C"
    return "C"
elif nota >= 60 and nota < 70:
    return "D"
elif nota < 60:
    return "F"

obtenerCalificacionenLetras(Lloyd)
obtenerCalificacionenLetras(Alice)
obtenerCalificacionenLetras(Tyler)


#4

You are still referring to objects by proper name when it is the dictionary names we should be using.

Todavía se está refiriendo a objetos por nombre propio cuando se trata de los nombres de diccionario que deberíamos usar.


#5

con el siguiente código, el cual creo más dedicado a los nombres de los diccionarios (creo), obtengo el mismo mensaje del principio "¡Uy! Probá otra vez. Tu función falló cuando se ingresó 101 como dato de entrada.":

Lloyd = {
"nombre":"Lloyd",
"tareas": [90,97,75,92],
"pruebas": [ 88,40,94],
"examenes": [ 75,90]
}
Alice = {
"nombre":"Alice",
"tareas": [100,92,98,100],
"pruebas": [82,83,91],
"examenes": [89,97]
}
Tyler = {
"nombre":"Tyler",
"tareas": [0,87,75,22],
"pruebas": [0,75,78],
"examenes": [100,100]
}
estudiantes = [Lloyd,Alice,Tyler]

for i in range (len(estudiantes)):
print ("")
print estudiantes[i]['nombre']
print estudiantes[i]['tareas']
print estudiantes[i]['pruebas']
print estudiantes[i]['examenes']

Lloyd = {
"nombre":"Lloyd",
"tareas": [90,97,75,92],
"pruebas": [ 88,40,94],
"exámenes": [ 75,90]
}
Alice = {
"nombre":"Alice",
"tareas": [100,92,98.100],
"pruebas": [82,83,91],
"exámenes": [89,97]
}
Tyler = {
"nombre":"Tyler",
"tareas": [0,87,75,22],
"pruebas": [0,75,78],
"exámenes": [100,100]
}
estudiantes = [Lloyd,Alice,Tyler]

def promedio(numeros):
sum (numeros)
total = float(sum(numeros))
promedio = float(total)/len(numeros)
return promedio

def calcularPromedio(estudiante):
tareas = promedio(estudiante["tareas"]) * 0.1

pruebas = promedio(estudiante["pruebas"]) * 0.3

examenes = promedio(estudiante["exámenes"]) * 0.6

total = tareas + pruebas + examenes
return total

print calcularPromedio(Lloyd)
print calcularPromedio(Alice)
print calcularPromedio(Tyler)

def obtenerCalificacionenLetras(estudiante):

nota = calcularPromedio(estudiante)
if nota >= 90:
    print "A"
    return "A"
elif nota >= 80 and nota < 90:
    print "B"
    return "B"
elif nota >= 70 and nota < 80:
    print "C"
    return "C"
elif nota >= 60 and nota < 70:
    return "D"
elif nota < 60:
    return "F"

obtenerCalificacionenLetras(Lloyd)
obtenerCalificacionenLetras(Alice)
obtenerCalificacionenLetras(Tyler)

Y la respuesta que obtengo en la consola es:

Lloyd
[90, 97, 75, 92]
[88, 40, 94]
[75, 90]

Alice
[100, 92, 98, 100]
[82, 83, 91]
[89, 97]

Tyler
[0, 87, 75, 22]
[0, 75, 78]
[100, 100]
80.55
91.07
79.9
B
A
C
None


#6

Sorry, I did not see that your dictionaries were capitalized. My folly. If the lesson checker is squawking, that would be why.

Lo siento, no vi que sus diccionarios estaban en mayúsculas. Mi locura. Si el inspector de la lección está gritando, eso sería por qué.

lloyd = {}
alice = {}
tyler = {}

#7

Buenos días.

Hice los cambios recomendados, es decir, cambiar todos los nombres de diccionarios en mayúscula a minúscula, pero el inspector sigue gritando me lo mismo una y otra vez.
Hago correr el código en mi pc, y todo funciona correctamente. No entiendo porqué el inspector sigue marcando me error.


#9