Menu
Coddy logo textTech

Esnek Puanlama

Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 51 / 56.

Sıkı eşitlik katıdır. Gerçek testler paris, Paris ve PARIS ifadelerini aynı cevap olarak kabul eder.

Bölüm 1'deki tarif: boşlukları temizle, her iki tarafı da küçük harfe çevir, karşılaştır:

func grade(_ given: String, _ answer: String) -> Bool {
    let g = given.trimmingCharacters(in: .whitespaces).lowercased()
    let a = answer.trimmingCharacters(in: .whitespaces).lowercased()
    return g == a
}

Bu, kendi fonksiyonuna ayırmaya değer türden bir yardımcıdır. Quiz döngüsü, her soru için tek bir satırla daha temiz okunur ve yarınki hata düzeltmesi tek bir yerde yapılır.

challenge icon

Görev

Kolay

Her iki tarafın boşluklarını kırptıktan ve küçük harfe çevirdikten sonra iki dize eşleştiğinde true döndüren bir grade(_ given: String, _ answer: String) -> Bool fonksiyonu tanımlayın.

questions bankası verilmiştir. stdin üzerinden üç satır okuyun. Her soru için şunları yazdırın:

  1. Soru metni
  2. Esnek karşılaştırmaya dayalı olarak correct veya wrong

Çalıştırma bittikten sonra, Score: <n>/3 yazdırın.

4 / PARIS / Green girdisi için çıktı şöyledir:

2 + 2?
correct
Capital of France?
correct
Color of grass?
correct
Score: 3/3

Kopya kağıdı

Esnek dize karşılaştırması: karşılaştırmadan önce her iki tarafın boşluklarını temizleyin ve küçük harfe çevirin.

func grade(_ given: String, _ answer: String) -> Bool {
    let g = given.trimmingCharacters(in: .whitespaces).lowercased()
    let a = answer.trimmingCharacters(in: .whitespaces).lowercased()
    return g == a
}

Kendin dene

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris"),
    ("science", "Color of grass?", "green")
]

// YAPILACAK: trim + küçük harf karşılaştırması ile func grade(_:_:)->Bool
// sonra döngü kur, soruyu yazdır, cevabı oku, doğru/yanlış yazdır;
// 'Puan: <n>/3' ile bitir
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler