-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic_sifrelem.py
More file actions
25 lines (21 loc) · 1.06 KB
/
Copy pathbasic_sifrelem.py
File metadata and controls
25 lines (21 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def sifrele(metin, kaydirma):
sifrelenmis_metin = ""
for karakter in metin:
if karakter.isalpha(): # Sadece harfleri şifrele
# Büyük harf ve küçük harf durumunu koru
baslangic = ord('A') if karakter.isupper() else ord('a')
sifrelenmis_metin += chr((ord(karakter) - baslangic + kaydirma) % 26 + baslangic)
else:
sifrelenmis_metin += karakter # Harf değilse olduğu gibi ekle (boşluk, noktalama işaretleri vb.)
return sifrelenmis_metin
def coz(sifrelenmis_metin, kaydirma):
return sifrele(sifrelenmis_metin, -kaydirma) # Şifre çözme, kaydırmayı tersine çevirerek yapılır
# Kullanıcıdan metin ve kaydırma değerini alalım
metin = input("Şifrelemek istediğiniz metni girin: ")
kaydirma = int(input("Kaydırma değerini girin (örn. 3): "))
# Metni şifrele
sifrelenmis_metin = sifrele(metin, kaydirma)
print(f"Şifrelenmiş metin: {sifrelenmis_metin}")
# Şifrelenmiş metni çöz
cozulmus_metin = coz(sifrelenmis_metin, kaydirma)
print(f"Çözülmüş metin: {cozulmus_metin}")