Ödev 3
String ve Liste Veri Türleri, For Döngüleri
Başlangıç Kodları
Buraya tıklayarak problemlere ait başlangıç kodlarına ulaşabilirsiniz.
Ödev - Hafta 3
Egzersiz 1
Eren ve İdil kendi seçtikleri 50’ye kadar olan 3 sayılardan oluşan 3 elemanlık 2 liste oluşturdu. Seçtikleri sayılardan ortak sayılar olup olmadığını ve varsa ortak olan sayıların hangileri olduklarını merak ediyorlar.
Hangi sayıların ortak olduğunu bulmalarına yardımcı olalım :)
Not: Rastgele oluşturulmuş listeleri idil_liste ve eren_liste değişkenlerine atadık. Bu listeler program her çalıştığında farklı bir değer alacak, bu sebeple programını kontrol edebilmen için print() fonksiyonunu kullanarak listeleri konsola yazdırıyoruz.
Örnek çalışma şekli:
-> Ortak sayılar varsa:
> 2 ortak sayı bulundu! Ortak sayılar: 3, 5
-> Ortak sayı yoksa:
> Ortak sayı bulunamadı.
Egzersiz 2
Evvel zaman içinde, tuşlu telefonların kullanımı çok zorluydu. Bir mesajın yazılması için her harf için tuşlara defalarca basılması ve uygun harflerin belirlenmesi gerekirdi. Bu sebeple, daha kolay mesajlaşabilmek için insanlar sesli harfleri mesajlardan çıkararak karşı tarafın mesajı yine de anlayabileceğini umardı.
Bu durum her ne kadar artık gerekli olmasa da aynı işlemi Python’da yapmayı deneyelim.
Örnek çalışma şekli:
> Eski mesaj diline çevirmek istediğiniz mesajı giriniz: Selam yarın sinemaya gitmek ister misin?
Slm yrn snmy gtmk str msn?
Örnek çalışma şekli 2:
> Eski mesaj diline çevirmek istediğiniz mesajı giriniz: Üzgünüm, yarın CS:101 kursum var. Haftaya gitsek olur mu?
zgnm, yrn CS:101 krsm vr. Hfty gtsk lr m?
Egzersiz 3
Kardeşim Kuzey matematik dersinde çarpım tablosunu hatırlamakta biraz zorlanıyor. Ona yardımcı olabilmek için istediği zaman çalıştırıp çarpım tablosunu görebileceği bir program yazabilir misin?
İşleri biraz daha eğlenceli hale getirmek için programın başında Kuzey’den bir sayı isteyelim ve 1’den o sayıya kadar bütün sayılar için çarpım tablosunu oluşturalım.
Örnek Çalışma Şekli 1:
> Kaça kadar çarpım tablosunu görmek istersin? 9
X 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81
Örnek Çalışma Şekli 2:
> Kaça kadar çarpım tablosunu görmek istersin? 4
X 1 2 3 4
1 1 2 3 4
2 2 4 6 8
3 3 6 9 12
4 4 8 12 16
Not1: Sayılar arasındaki düzgün aralıkları araya “\t” (tab) ekleyerek sağlayabilirsin. Bir string içine yeni satır eklemek istersen (enter) “\n” kullanabilirsin.
Egzersiz 4
Geçen haftaki ödev egzersizlerimizi düşünürsek, bir tanesinde doğum günümüzün yılın kaçıncı gününe denk geldiğini hesapladığımızı hatırlayabiliriz. Artık geçen haftaya göre programlama konusunda çok daha bilgili olduğumuza göre hadi aynı soruyu listelerden yardım alarak tekrar çözmeyi deneyelim. Yardımcı olması için “gun_sayisini_hesapla” fonksiyonu içerisinde, ayların gün sayılarını içeren bir liste oluşturuduk, ama yine de artık yıllara dikkat etmeyi unutmamalıyız !
Daha iyi hatırlamamız için örnek çalışma şeklini de inceleyebiliriz :)
Örnek çalışma şekli:
> Doğum yılınız: 1998
> Doğduğunuz ay: 11
> Doğduğunuz gün: 7
> Doğduğunuz gün 1998 yılının 311. günü.