Estructuras Repetitivas

12. Ejercicios resueltos

12.8. A minusculas sin métodos

Para pasar una letra a mayúsculas a minúscula, debemos observar la Tabla de caracteres ASCII:


Podemos ver que de cualquier letra mayúscula a minúscula en decimal hay una diferencia de 32 ( 'Z'=90 'z'=122 , 122-90=32, idem para otras letras.

Así que para poder cambiar de mayúscula a minúscula debemos sumar 32.

Pero NO podemos sumar a una letra un valor decimal, es por eso que vamos convertir el ASCII a decimal con la función ord(), luego le sumamos 32, y finalmente convertimos el valor decimal restante a ASCII.

Algo a tener presente es que lo que NO sean letras, NO podemos pasara a minúsculas.

desplazamiento=32 
texto=input("Ingrese el texto en mayúsculas:")
texto=texto.upper()#Me aseguro de que TODAS sean mayúsculas
print("Vamos a convertir a miúsculas este texto: ", texto)
texto_minusculas=''
for letra in texto:
if letra>='A'and letra<='Z': # para caracter que no es letra @,*,+, espacio, etc
decimal=ord(letra)
decimal+=desplazamiento# nuevo valor decimal del ASCII
nueva_letra=chr(decimal)
#print(letra,decimal,nueva_letra)
texto_minusculas=texto_minusculas+nueva_letra
else:
texto_minusculas=texto_minusculas+letra
print(texto_minusculas)

Ejemplo de la ejecución: