Özet - Temel Skor Takipçisi
Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 14 / 66.
Görev
Kolayİki girdi alacaksınız: birincisi, virgülle ayrılmış test puanlarının bir listesi ve ikincisi, eklenecek bir puan. Başlangıç puanlarından bir vektör oluşturun, yeni puanı ekleyin, tüm puanların ortalamasını hesaplayın ve sonuçları yazdırın.
Gereksinimler:
- Virgülle ayrılmış puanları içeren ilk girdiyi okuyun (örneğin,
85,92,78) - Dizeyi virgüllere göre ayırın ve tam sayıya dönüştürmeden önce her bir belirteci kırpın (trim) (örneğin, ayırdıktan sonra her öğe üzerinde
.trim()kullanın) - Bu puanlardan değiştirilebilir (mutable) bir vektör oluşturun
- İkinci girdiyi okuyun ve tam sayıya dönüştürün (önce kırpın)
- Yeni puanı vektöre eklemek için
.push()kullanın - Vektördeki tüm puanların ortalamasını hesaplayın
- Toplam puan sayısını yazdırın
- Ortalama puanı (tam sayı olarak) yazdırın
Girdi:
- İlk satır: Başlangıç puanlarını temsil eden virgülle ayrılmış tam sayılar (örneğin,
85,92,78) - İkinci satır: Eklenecek yeni puanı temsil eden bir tam sayı
Çıktı:
- İlk satır: Toplam puan sayısı
- İkinci satır: Ortalama puan (tam sayı olarak, aşağı yuvarlanmış)
Not: Her zaman tüm girdi satırı üzerinde ve virgülle ayırdıktan sonra her bir puan belirteci üzerinde .trim() metodunu çağırın. Girdi dizeleri, temizlenmediği takdirde ayrıştırma sırasında paniğe (panic) neden olacak görünmez boşluklar veya yeni satır karakterleri içerebilir.
Kendin dene
use std::io;
fn main() {
// Virgülle ayrılmış puanları oku
let mut scores_input = String::new();
io::stdin().read_line(&mut scores_input).expect("Failed to read line");
// Eklenecek yeni puanı oku
let mut new_score_input = String::new();
io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
// TODO: Kodunuzu aşağıya yazın
// 1. scores_input'u virgüllere göre ayırın ve tam sayılara dönüştürün
// 2. Bu puanlardan değiştirilebilir (mutable) bir vektör oluşturun
// 3. new_score_input'u bir tam sayıya dönüştürün
// 4. Yeni puanı vektöre ekleyin (push)
// 5. Tüm puanların ortalamasını hesaplayın
// Toplam puan sayısını yazdırın
// println!("{}", total_scores);
// Ortalama puanı yazdırın
// println!("{}", average);
}Logic & Flow bölümündeki tüm dersler
1İleri Seviye Kontrol Akışı
'match' İfadesiBirden Çok Değeri EşleştirmeAralıkları Eşleştirme'if let' İfadesiİfade Olarak DöngülerÖzet - Basit Komut Ayrıştırıcı4Struct'lar ile Verileri Gruplama
Struct Nedir?Struct'lara Genel BakışStruct Alanlarına ErişmeMutable Struct'larFonksiyon Parametresi Olarak Struct'larTuple Struct'larÖzet - Bir Kitap Struct'ı Oluşturun7'Result' ile Hata Yönetimi
'Result' Nedir?'Result' ile 'match' Kullanımıis_ok() ve is_err()Kısayollar: unwrap ve expectSoru İşareti Operatörü '?'String'leri Sayılara DönüştürmeÖzet - Güvenli Bölme Fonksiyonu10Closures ve Anonim Fonksiyonlar
Closure Nedir?Basit Bir Closure TanımlamaParametreli Closure'larOrtamı YakalamakÖzet - Basit Toplayıcı Closure2Vektörlere Giriş
Vektör Nedir?Vektör Oluşturmapush ile Eleman EklemeVektör Elemanlarına ErişmeVektör Üzerinde YinelemeDeğiştirilebilir YinelemeEleman KaldırmaÖzet - Temel Skor Takipçisi5Hash Map'ler ile Anahtar-Değer Çiftleri
Hash Map Nedir?Bir Hash Map OluşturmaAnahtar-Değer Çiftleri EklemeDeğerlere ErişmeBir Hash Map Üzerinde GezinmeBir Değeri GüncellemeBir Çifti KaldırmaÖzet - Kelime Sayacı11Son Meydan Okumalar
Özet - Benzersiz ÖğelerÖzet - Kullanıcı Profili DoğrulayıcıÖzet - Not Özetleyici3Komut Satırı Yapılacaklar Listesi
Proje KurulumuGörev EklemeTüm Görevleri GörüntülemeGörev SilmeFinal Kodu6'Option' ile Yokluğu Yönetme
'Option' Nedir?'Option' ile 'match' Kullanımıis_some() ve is_none()Bir 'Option' Değerini Açmak (Unwrapping)expect MetoduVarsayılan Değer Sağlama: unwrap_orÖzet - Bir Eleman Bulma9String Dilimleri ve Daha Fazlası
String ve &strString Dilimleri OluşturmaFonksiyon Parametresi Olarak DilimlerDiğer DilimlerÖzet - İlk Kelimeyi Bulma