Kotlin
Skor hesaplama
Skor hesaplama fonksiyonuyla doğru sayısını öğrenirsin.
Skor hesaplama
Dördüncü derste score fonksiyonunu ekleriz. Bu fonksiyon bir cevap listesi alır, her sorunun doğru cevabıyla karşılaştırır ve doğru sayısını döndürür.
Örnek: fun score(answers: List<String>): Int { var correct = 0; for (i in questions.indices) { if (questions[i].answer == answers[i]) correct++ }; return correct }. questions.indices listedeki indekslerin aralığını verir. questions[i].answer ile i. sorunun cevabına erişilir. answers[i] ile kullanıcının i. cevabı karşılaştırılır. Doğru eşleşmeler correct değişkeninde sayılır.
Skor hesaplama örneği
score fonksiyonu bir List<String> alır. Her soru için kullanıcının cevabını doğru cevapla karşılaştırır.
Örnek: iki soru ekliysek ve score(listOf("Türkiye", "5")) çağrısı yaparsak, birinci doğru ikinci yanlış olduğundan sonuç 1 olur. var correct = 0 ile sayaç başlatılır. Döngü içinde her doğru eşleşmede correct++ ile bir artırılır. Son olarak return correct ile değer döndürülür. Bu fonksiyon quiz sonunda puan göstermek için kullanılır.
Uygulama score fonksiyonunu ekle
Önceki derslerin çözümünü temel al: data class Question(val text: String, val answer: String), val questions: MutableList<Question> = mutableListOf(), fun addQuestion(text: String, answer: String) ve fun runQuiz() tanımlı olsun. fun score(answers: List<String>): Int fonksiyonu ekle; gövdesi var correct = 0 ile başlasın, for (i in questions.indices) ile her soruyu gezsin, if (questions[i].answer == answers[i]) correct++ yapsın ve return correct döndürsün. main içinde iki soru ekle ve println(score(listOf("Türkiye", "5"))) ile sonucu yazdır.
Örnek çözümü göster
data class Question(val text: String, val answer: String)
val questions: MutableList<Question> = mutableListOf()
fun addQuestion(text: String, answer: String) {
questions.add(Question(text, answer))
}
fun runQuiz() {
for (q in questions) {
println(q.text)
println("Cevap: ${q.answer}")
}
}
fun score(answers: List<String>): Int {
var correct = 0
for (i in questions.indices) {
if (questions[i].answer == answers[i]) correct++
}
return correct
}
fun main() {
addQuestion("Başkent hangi ülke?", "Türkiye")
addQuestion("2+2 kaç?", "4")
println(score(listOf("Türkiye", "5")))
}
Kendini test et
-
score parçalarını eşle
- fun score(answers)
- Fonksiyon imzası
- questions.indices
- İndeks aralığı
- var correct = 0
- Sayaç
- correct++
- Artırma
-
<code>questions.indices</code> ne döndürür?
- İndeks aralığı (0..size-1)
- Yeni bir liste
- Boolean sonuç
- Listedeki öğeleri
Cevabı göster
İndeks aralığı (0..size-1) — questions.indices 0'dan size-1'e kadar indeks aralığıdır.
-
score karşılaştırmasını tamamla
if (questions[i].answer == ____) correct++
Cevabı göster
if (questions[i].answer == answers[i]) correct++
Sıradaki ders: Birleştirme