Booleans tiene dos valores posibles. ¿Hay tipos que tienen tres valores posibles? [duplicar

Posible duplicado:
¿Cuál es la mejor manera de implementar una 'enumeración' en Python?

Estoy escribiendo una función que, idealmente, me gustaría devolver uno de los tres estados: "sí", "no" y "no sé".

¿Algún lenguaje de programación tiene un tipo que tenga tres y solo tres estados? ¿Como un booleano, pero con tres estados en lugar de dos?

En idiomas que no tienen ese tipo (como Python), ¿cuál es el mejor tipo para representar esto?

Actualmente creo que iré con un número entero 0 para "no",1 para "no sé" y2 para "sí"), pero ¿tal vez hay una mejor manera? Los enteros parecen un poco "número mágico".

Podría devolverTrue, False oNone, pero comoNone evaluaría aFalse en la mayoría de los contextos de comparación, parece un poco maduro para los errores.

Respuestas a la pregunta(18)

Su respuesta a la pregunta