Python ile Sezar Şifrelemesi

Bu örneğimizde, Python ile “Sezar Şifrelemesi” olarak adlandırılan programı kodlayacağız. Adını ünlü Roma İmparatoru Julius Sezar’dan alan bu şifreleme, her harfin belirlenen adım sayısı kadar ötelenmesi ile oluşturulur.

Kodumuzda caesar adında Caesar şifreleme işleminin gerçekleştirildiği bir fonksiyon tanımladık. Fonksiyonumuz, “metni”, “kaydırma miktarını” ve “işlem yönünü” (şifreleme veya çözme) parametre olarak alır. Metni işlerken, her bir karakteri for döngüsü ile tek tek kontrol ediyoruz. Eğer karakter bir harfse, belirtilen miktarda kaydırma işlemi gerçekleştiriyoruz. Harf dışında bir karakter (sayı, sembol, boşluk vb.) gelirse, bu karakteri doğrudan sonuca ekliyoruz. Fonksiyon tamamlandığında, şifrelenmiş veya çözülmüş metni döndürüyoruz.

Ana program kısmında ise, kullanıcıdan input() fonksiyonu ile şifreleme veya çözme isteği, metin ve kaydırma miktarı gibi bilgileri alıyoruz ve Bu bilgilerle caesar fonksiyonunu çağırarak sonucu elde edip ekrana yazdırıyoruz. Alfabede 26 harf bulunduğu için kullanıcı eğer kaydırma miktarını 26’dan fazla olacak şekilde verirse tekrar başa dönmelidir. Örneğin, 27 harf kaydırmak 1 harf kaydırmakla aynı sonucu verir, 28 harf kaydırmak 2 harf kaydırmakla aynı sonucu verir ve bu böyle devam eder. İşte tam da bunu yapabilmek için mod (% 26) kullandık.

Ayrıca, kullanıcının programı tekrar tekrar kullanabilmesi için bu işlemleri bir while döngüsü içerisinde gerçekleştiriyoruz. Kullanıcı hayır demediği sürece programı tekrar tekrar kullanabilir. Kodu çalıştırmak için: Trinket

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu