Mam tutaj taki kod do szyfru cezara, który najpierw przygotowuje tekst do szyfrowania zostawiając jedynie małe litery. Coś nie chce mi działać i podejrzewam, że problem może leżeć w linijce 17. Np. dla przesunięcia równego 5 wyświetla Stsj bez względu na wprowadzony tekst. Nie wiem czy w taki sposób mogę uznać tekst2 jako string. Dodam, że nie chcę raczej zmieniać kodu, ponieważ chodzi mi o to, aby był dla mnie zrozumiały. Pomocy ;D
def przygotowanie(tekst):
dlugosc=len(tekst)
for i in range(0, dlugosc):
if (ord(tekst[i])>=97 and ord(tekst[i])<=122):
print(tekst[i], end='')
elif (ord(tekst[i])>=65 and ord(tekst[i])<=90):
print(chr(ord(tekst[i])+32), end='')
else:
print(end='')
def cezar(tekst, przesuniecie):
dlugosc1=len(tekst)
for i in range (0, dlugosc1):
print(chr(ord(tekst[i])+przesuniecie), end='')
tekst1=str(input("Wprowadz tekst: "))
tekst2=przygotowanie(tekst1)
x=int(input("Wprowadz wartosc przesuniecia (od 1 do 26): "))
cezar(tekst2, x)