Buen dia.
Sigo con mis ejercios en python, estoy en un ejercicio que me solicita lo siguiente: Hacer un programa que sepa si un caracter es mayuscula o minuscula, poner ciertas condiciones para restringir la entrada de una cadena completa, es decir que se limite solo a evaluar un caracter. Tambien tiene que saber si es un numero.
Lo llevo asi:
#este programa lee una letra del teclado y dice si es mayuscula o minuscula}
#que identifique que sea solo una letra
#que reconozca las Ñ
print("Escribe un Letra para saber si Mayuscula o Minuscula")
caracter=input("Escribe un caracter: ") #Lee la variable
if len(caracter) == 1 and caracter.isalpha() == true: #Si solo es un caracter adelante y alfabetica
if caracter >= "A" and caracter <= "Z": #evalua que se encuentre dentro de A y Z mayus
print("El caracter ", caracter," Es Mayuscula")
elif caracter >= "a" and caracter <= "z":
print("El caracter ", caracter," Es Minuscula") #Evalua que se encuentre entre a y z minus
elif caracter == "Ñ": # apartir de aqui evalua si es una Ñ
print ("El caracter ",caracter," Es Ñ")
elif caracter == "ñ":
print("El caracter ",caracter,"Es ñ")
else: #si no cumple ninguna de las anteriores, no es una letra.
print("El caracter no es una letra")
elif len(caracter) >= 2 and caracter.isalpha() == false: #quiero que si es mas d 2 caracters
print("Debes escribir solo un caracter (sin numeros)") #y si esa cadena tiene numeros
#lo identifique
else:
print("No escribas una cadena, solo un caracter") #ninguna d las anteriores
Antes lo tenia con if aplicados de la siguiente manera:
if caracter >= 0 and caracter <= 0:
print("Es un numero)
Estuve investigando sobre la validacion de caracteres y encontre la funcion
isalpha ero con la función caracter.isalpha() == false (linea 23) me manda un error me dice que false no esta inicializada. y con el true del primer if (linea 9) no me manda ese error. No entiendo por que
nota: tambien encontre que hay funciones predefinidas para saber si es mayuscula o minuscula, pero tengo que hacer el ejercicio con if