Per passare da una lettera maiuscola ad una lettera minuscola, indipendentemente dal linguaggio di programmazione, faccio riflettere su questo: secondo la codifica ASCII, abbiamo:
A=65 (numero decimale), ... Z=90
a=97, ... z=122
Quindi fra le lettere maiuscole e quelle minuscole c'è un "salto" costante pari a 32.
A seconda del linguaggio cambierà la sintassi, in Python possiamo fare questo esempio che poi spiego:
x='a'
print(x)
x=ord(x)
print(chr(x-32))
La funzione ord(x)
restituisce il numero intero (codifica Unicode) del carattere fornito in input. Una volta rappresentato come numero, possiamo svolgere operazioni aritmetiche come ±32, in questo caso.
La funzione chr(x)
è l'opposto, quindi preso un intero in input, ne fornisce il rispettivo carattere.
Combinando le due funzioni, nel semplice esempio che ho fatto, trasformiamo 'a' in 'A'. Nel caso di una stringa, semplicemente si tratta di un array di caratteri quindi si può fare questa operazione un elemento alla volta, con un ciclo. Consiglio di considerare i limiti 65-90 e 97-122, poiché eventuali elementi al di fuori di questo range (vari caratteri speciali, simboli) non ha senso convertirli, ad esempio '-' + 32 = 'C' (45+32=67), la cosa non avrebbe acun senso.