Hafta 4 - Grup Çalışması Egzersizleri
Grafik, Kütüphaneler, For döngüleri, Fonksiyonlar
Başlangıç Kodları
Buraya tıklayarak problemlere ait başlangıç kodlarına ulaşabilirsiniz.
Ön Hazırlık
Grafik kütüphanesinin tüm fonksiyonlarını kullanabilmek için Pillow paketini indirmeliyiz. Daha önce indirmediyseniz aşağıdaki komutu terminalde çalıştırarak Pillow’u bilgisayarınıza indirebilirsiniz.
python -m pip install Pillow==7.1.1
Grup Çalışması - Hafta 4
Grafik kütüphanesinin fonsiyonlarının dokümantasyonuna buradan ulaşabilirsiniz.
Egzersiz 1
Kendi oyun alanımızı oluşturalım!
Satranç oynamayı seven Yekta ve Ceren’in evlerinde satranç tahtası olmadığı için Python ve grafik kütüphanesini kullanarak 8x8’lik bir satranç tahtası oluşturalım!
Bir satranç tahtasında, birbirine bitişik olan 2 kareden birinin siyah, birinin beyaz renk olduğunu unutmayalım. Yani, aynı renkli 2 kare yan yana veya üst üste gelemez. Kareler, bir siyah bir beyaz olacak şekilde ilerlemelidir.
Tamamladıktan sonra tahtamız aşağıdaki gibi gözükmeli:
Ekstra: Dilersen geliştirme olarak sonrasında bu tahtanın içerisindeki renkleri değiştirerek farklı oyun alanlarına da çevirebilirsin.
Egzersiz 2
Şifreyi çözelim!
Ozan, e-mailine girdiğinde kendisine yeni bir mesaj geldiğini görmüştür. Ama mesaj şifrelenmiştir ve şifreyi çözüp mesajın asıl halini görebilmesi için kendisine sorulan güvenlik sorusunu doğru olarak yanıtlayabilmesi gerekmektedir.
Güvenlik sorusu: |sayi! - sayi^2 - sqrt(sayi)| şeklindedir. Güvenlik sorusunun cevabını hesaplayan fonksiyonu siz doldurmalısınız. Soruda baz alınacak sayı, size güvenlik sorusu sayısı olarak verilmiştir.
Eğer soruya doğru cevabı verirse sistem bu doğru cevabı kullanarak şifreli mesajı doğru bir şekilde gösterecektir. Eğer yanlış cevap verirse sistem girilen yanlış cevabı kullanarak yanlış bir mesaj gösterecektir.
Peki sistem şifreyi nasıl çözecek? Bu şifreleme yöntemine “Caesar Cipher” yöntemi deniyor. Şifreli olan mesaj, bir anahtar sayı kullanılarak çözülüyor. Şifreli mesajdaki harflerin her biri, alfabe sıralamasına göre anahtar sayı kadar kaydırılıyor ve yeni bir mesaj oluşturuluyor. Eğer karakterler harf harici bir şey ise değiştirilmiyor.
Şifre Çözüm Örnekleri:
Şifreli Mesaj: Ldpğzaz, Çumvz!
Anahtar Sayı: 1
Çözümlenen Mesaj: Merhaba, Dünya!
Şifreli Mesaj: Nurflk meockjcı kc dşüci.
Anahtar Sayı: 3
Çözümlenen Mesaj: Python öğrenmek ne güzel.
Haydi, Ozan’a mesajını okuyabilmesi için yardım edelim!
# Örnek Çalışma Şekli
> Şifreli mesaj:
> Mzğth Iştı,
> Nealzse vjşypı, ozulegğzl!
> Htozhtoegozı 100 tğhtsd çtg zooeı:)
> Şifrenin çözülmesi için güvenlik sorusunu cevaplayın.
> |4! - 4^2 - sqrt(4)| kaçtır? 5
> Güvenlik sorusunu yanlış bildiniz.
> Şifreli mesaj:
> Mzğth Iştı,
> Nealzse vjşypı, ozulegğzl!
> Htozhtoegozı 100 tğhtsd çtg zooeı:)
> Şifrenin çözülmesi için güvenlik sorusunu cevaplayın.
> |4! - 4^2 - sqrt(4)| kaçtır? (doğru cevabı yazdık :D)
> Güvenlik sorusunu doğru bildiniz. Mesajınız:
> selam ozan,
> şifreyi çözdün, tebrikler!
> matematikten 100 almayı hak ettin:)