Uzun zaman önce, akıllı bir hizmetkâr bir prensin hayatını kurtarmış. Kral, ona istediği her şeyi vereceğini söylemiş. Hizmetkâr da kralın satrancı çok sevdiğini bildiğinden, buğday tanesi istemiş. “Satranç tahtasının ilk karesine 1 tane, her sonraki kareye de öncekinin iki katı kadar buğday koyun” demiş.
Talimatlar
Bu görevde, satranç tahtasındaki buğday tanelerinin sayısını hesaplaman gerekiyor.
Bir satranç tahtasında 64 kare vardır.
1. kare: 1 tane
2.kare: 2 tane
3.kare: 4 tane
4.kare: 8 tane
Şu kodları yazmanız bekleniyor:
Belirli bir karede kaç tane buğday olduğunu hesapla
Tüm tahtadaki toplam buğday sayısını hesapla
Hata mesajları
Bazen bir şeyler yanlış gittiğinde programı durdurup hata göstermek gerekir. Bunu yaparken, hatanın neden kaynaklandığını açıklamak önemlidir.
Bu görevde, kare numarası 1 ile 64 arasında değilse şu kodla hata vermelisin:
raise ValueError("square must be between 1 and 64")
Bu, kodunun anlaşılmasını kolaylaştırır ve hataları düzeltmeyi kolaylaştırır.
CEVAP
square_no = int(input("Give the number of square: "))
if square_no < 1 or square_no > 64:
raise ValueError("square must be between 1 and 64")
total = 0
for i in range(0, square_no):
total += 2**i
print(total)
Soru: Elinizde bir kelime var: “happy”. Bu kelimeye “un” ön ekini ekleyerek yeni bir kelime oluşturun. Sonucu ekrana yazdırın.
Beklenen çıktı:
unhappy
2. Soru: Ön ekli kelime grubu oluşturma
Soru: Aşağıdaki listedeki ilk öğe bir ön ektir. Diğer kelimelere bu ön eki ekleyerek yeni kelimeler oluşturun.
Sonuçları aşağıdaki formatta birleştirip ekrana yazdırın:
vocab_words = ['en', 'close', 'joy', 'lighten']
Beklenen çıktı:
en :: enclose :: enjoy :: enlighten
3. Soru: “-ness” son ekini kaldırma
Soru: Aşağıdaki kelimenin sonundaki “ness” ekini kaldırın. Eğer bu ekten önceki harf “i” ise, bu harfi “y” harfiyle değiştirin.
Aşağıdaki örnek için doğru sonucu ekrana yazdırın:
word = "heaviness"
Beklenen çıktı:
heavy
4. Soru: Cümledeki sıfattan fiil oluşturma
Soru:
Verilen cümledeki kelimelerden, belirtilen index’teki kelimeyi bulun.
Bu kelimenin sonuna “en” ekleyerek onu bir fiile çevirin. Noktalamayı temizlemeyi unutmayın.
sentence = "It got dark as the sun set."
index = 2
Beklenen çıktı:
darken
Cevaplar
1. “un” ön eki ekleme
word = "happy"
prefixed_word = "un" + word
print(prefixed_word) # "unhappy"
✅ 2. Ön ekli kelime grubu oluşturma
vocab_words = ['en', 'close', 'joy', 'lighten']
prefix = vocab_words[0]
result = prefix
for word in vocab_words[1:]:
result += " :: " + prefix + word
print(result) # "en :: enclose :: enjoy :: enlighten"
✅ 3. “-ness” son ekini kaldırma
word = "heaviness"
if word.endswith("ness"):
root = word[:-4] # son 4 harfi sildik.
if root.endswith("i"): # eğer son harf "i" ise bunu "y" ile değiştirmeliyiz.
root = root[:-1] + "y" # son harfi silip yerine "y" koyduk.
print(root) # "heavy"
✅ 4. Cümledeki sıfattan fiil oluşturma
sentence = "It got dark as the sun set."
index = 2
sentence_list = sentence.split() # cümleyi liste yapısına dönüştürdük.
adjective = sentence_list[index].sprit(".,?!") # sıfatı bulduk ve tüm noktalama işaretlerinden kurtulduk.
verb = adjective + "en" # sıfatı fiile çevirdik.
print(verb) # "darken"
Bir metnin kaç karakterden oluştuğunu görmek için len() fonksiyonu kullanılır:
name = "Gökrem"
print(len(name)) # 6
6. Sık Kullanılan String Fonksiyonları
Python’da string’lerle çalışırken bazı yerleşik fonksiyonlar (metotlar) oldukça sık kullanılır:
.upper() → Tüm harfleri büyük harfe çevirir. Örnek: “gökrem”.upper() sonucu “GÖKREM” olur.
.lower() → Tüm harfleri küçük harfe çevirir. Örnek: “GÖKREM”.lower() sonucu “gökrem” olur.
.strip() → Metnin başındaki ve sonundaki boşlukları siler. Örnek: ” Hello “.strip() sonucu “Hello” olur.
.replace() → Metnin bir kısmını başka bir metinle değiştirir. Örnek: “Men came”.replace(“Men”, “Women”) sonucu “Women came” olur.
.split() → Belirtilen karaktere göre metni böler ve bir liste döndürür (varsayılan karakter boşluktur). Örnek: “John Wick”.split() sonucu [“John”, “Wick”]
Google Colab Gösterimi
"gökrem".upper() # GÖKREM
"GÖKREM".lower() # gökrem
" Hello ".strip() # Hello
"Men came".replace("Men", "Women") # Women came
"John Wick".split() # ['John', 'Wick'] → bir liste örneği
Python ile ilk kodlama egzersizinize hoş geldiniz! Bu alıştırmada, Gürbüz Usta’nın meşhur lazanyasını hazırlamak ve pişirmek için ne kadar zaman gerektiğini hesaplamasına yardım edeceksiniz.
Gürbüz Usta’nın lazanya tarifi iki ana adımdan oluşur:
Lazanya katlarını hazırlamak (her bir kat 2 dakika sürer)
Lazanyayı fırında pişirmek (40 dakika sürer ve bu süre her zaman aynıdır)
Bu egzersizde yazacağınız Python kodu şu süreleri hesaplamalıdır:
Katları hazırlamak için geçen süre
Pişirme süresi (her zaman 40 dakika)
Mutfakta geçirilen toplam süre (hazırlık süresi + pişirme süresi)
Adım 2: Bir Programcı Gibi Düşünün
Hayal edin:
Size kaç kat lazanya yapılacağı söylendi – örneğin 3 ya da 5.
Bu sayıyı 2 ile çarparak hazırlık süresini hesaplayabilirsiniz.
Pişirme süresi her zaman 40 dakikadır, kat sayısı fark etmez.
Toplam süreyi bulmak için, hazırlık süresi ile pişirme süresini toplamanız yeterlidir.
Adım 3: Kodunuzu Planlayın
Aşağıdaki adımları izleyerek kodunuzu yazabilirsiniz:
kat_sayisi adında bir değişken oluşturun ve bir sayı atayın (örneğin 3)
Bu sayıyı 2 ile çarpın → sonucu hazirlik_suresi değişkenine atayın
pisirme_suresi değişkenini 40 olarak belirleyin
hazirlik_suresi + pisirme_suresi ile toplam_sure değişkenini hesaplayın
Bu bilgileri ekrana yazdırın ki Gürbüz Usta plan yapabilsin
Yeni Başlayanlar İçin İpuçları
kat_sayisi değişkenine farklı değerler vererek kodunuzu test edebilirsiniz.
Açıklama yazmak için # işaretini kullanın – bu satırlar kodu çalıştırmaz, ama anlatır.
Python girintilere (boşluklara) duyarlıdır, dikkat edin.
Her adımda sonucu yazdırarak programın nasıl çalıştığını gözlemleyin.
🔹 Çözüm: Kod Yapısı
# Adım 1: Kat sayısını belirle
kat_sayisi = 3 # Bu sayıyı değiştirebilirsiniz
# Adım 2: Hazırlık süresini hesapla (her kat 2 dakika)
hazirlik_suresi = kat_sayisi * 2
# Adım 3: Pişirme süresi (her zaman 40 dakika)
pisirme_suresi = 40
# Adım 4: Toplam süre = hazırlık + pişirme
toplam_sure = hazirlik_suresi + pisirme_suresi
# Adım 5: Sonuçları yazdır
print("Hazırlık süresi:", hazirlik_suresi, "dakika")
print("Pişirme süresi:", pisirme_suresi, "dakika")
print("Mutfakta geçirilen toplam süre:", toplam_sure, "dakika")