Skor hesaplama
- Kotlin kursu
- Orta seviye
- Ders 45/116
- 6 dk
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.
Başlangıç kodu
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}")
}
}
// score fonksiyonunu ekle: answers al, doğru sayısını döndür
fun main() {
// İki soru ekle ve score sonucunu yazdır
}Örnek çözüm
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")))
}Beklenen çıktı
1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 score parçalarını eşle
| Kavram | Anlamı |
|---|---|
fun score(answers) |
Fonksiyon imzası |
questions.indices |
İndeks aralığı |
var correct = 0 |
Sayaç |
correct++ |
Artırma |
2 <code>questions.indices</code> ne döndürür?
- İndeks aralığı (0..size-1) Doğru cevap
- Yeni bir liste
- Boolean sonuç
- Listedeki öğeleri
Açıklama: questions.indices 0'dan size-1'e kadar indeks aralığıdır.
3 score karşılaştırmasını tamamla
if (questions[i].answer == ____) correct++
if (questions[i].answer == answers[i]) correct++
Açıklama: answers[i] kullanıcının i. cevabıdır.