Özet - Temel Skor Takipçisi
Coddy'nin Rust Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 14 / 66.
Görev
Kolayİki girdi alacaksınız: ilki virgülle ayrılmış test puanlarının listesi, ikincisi ise eklenecek puandır. 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ış puarları içeren ilk girdiyi okuyun (ör.
85,92,78) - Dizeyi virgüllere göre bölün ve tamsayıya dönüştürmeden önce her bir bağımsız belirtecin başındaki ve sonundaki boşlukları temizleyin (ör. böldükten sonra her öğe üzerinde
.trim()kullanın) - Bu puanlardan değiştirilebilir bir vektör oluşturun
- İkinci girdiyi okuyun ve tamsayıya dönüştürün (önce boşluklarını temizleyin)
- 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ı (tamsayı olarak) yazdırın
Girdi:
- İlk satır: Başlangıç puanlarını temsil eden virgülle ayrılmış tamsayılar (ör.
85,92,78) - İkinci satır: Eklenecek yeni puanı temsil eden bir tamsayı
Çıktı:
- İlk satır: Toplam puan sayısı
- İkinci satır: Ortalama puan (tamsayı olarak, kesilmiş)
Not: Her zaman .trim() işlevini ve tüm girdi satırının tamamı üzerinde, virgülle böldükten sonra her bir puan belirtecinde çağırın. Girdi dizeleri, kaldırılmadıkları takdirde ayrıştırma sırasında panic oluşmasına 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 ve tamsayılara dönüştür
// 2. Bu puanlardan değiştirilebilir bir vektör oluştur
// 3. new_score_input'u bir tamsayıya dönüştür
// 4. Yeni puanı vektöre ekle
// 5. Tüm puanların ortalamasını hesapla
// Toplam puan sayısını yazdır
// println!("{}", total_scores);
// Ortalama puanı yazdır
// println!("{}", average);
}Mantık & Akış 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 BulmaKendi başına pratik yap: Online Rust derleyicisi