Skip to content

❌ NameError: name 'true' is not defined ​

Clase 2 · en funciones.py, primera función propia

🧨 Qué pasó ​

python
def mi_primera_funcion(dato1, dato2):
    if dato1 > dato2:
        print(true)
    else:
        print(false)

mi_primera_funcion(10, 5)
NameError: name 'true' is not defined. Did you mean: 'True'?

🔍 Causa ​

En Python los booleanos son True y False, con mayúscula inicial. Es un error muy común si venís de JavaScript, Java o C#, donde los booleanos se escriben en minúscula (true/false). Python no reconoce true como nada — lo interpreta como el nombre de una variable que nunca se definió, por eso el error es NameError (no un error de tipo).

✅ Solución ​

python
def mi_primera_funcion(dato1, dato2):
    if dato1 > dato2:
        print(True)
    else:
        print(False)

mi_primera_funcion(10, 5)   # True

💡 El propio intérprete de Python ayuda acá: el mensaje incluye "Did you mean: 'True'?" — vale la pena leer el mensaje completo del error, no solo la primera línea.

📎 Relacionado ​