Python Not Uygulaması: Öğrenci Değerlendirmesi

Python Not Uygulaması: Öğrenci Değerlendirmesi

Bir "Öğrenci Değerlendirme" not uygulaması, öğrencilerin notlarını girip, ardından bu notları kullanarak bir değerlendirme yapmayı sağlayan basit bir program olabilir. Uygulamada, öğrencilerin aldığı notları girip bunlara göre ortalamalarını hesaplayabilir ve belirli aralıklarla öğrencilere geçme ya da kalma durumlarını gösterebiliriz.

Adım Adım Öğrenci Değerlendirme Uygulaması

Bu uygulamada aşağıdaki işlevsellikleri ele alacağız:

  1. Öğrenci notlarını girdiğiniz bir fonksiyon.
  2. Notları dosyaya kaydetme.
  3. Öğrencinin not ortalamasını hesaplama.
  4. Öğrencinin geçip kalma durumunu değerlendirme.
  5. Dosyadan öğrenci notlarını okuyabilme.

Uygulama Kodu:

def not_girisi(): """Öğrenci notlarını girmek ve dosyaya kaydetmek için.""" dosya_adi = "ogrenci_notlari.txt" # Notların kaydedileceği dosya ogrenci_adi = input("Öğrencinin adı: ") notlar = [] while True: not_girisi = input("Öğrenci notu girin (Çıkmak için 'q' yazın): ") if not_girisi.lower() == 'q': break try: not_degeri = float(not_girisi) notlar.append(not_degeri) except ValueError: print("Geçersiz not değeri, lütfen tekrar deneyin.") if notlar: # Eğer not girilmişse dosyaya kaydedelim with open(dosya_adi, "a") as dosya: dosya.write(f"{ogrenci_adi}:{notlar} ") print("Notlar kaydedildi.") else: print("Hiç not girilmedi.") def notlari_oku(): """Kaydedilen notları dosyadan okur ve gösterir.""" dosya_adi = "ogrenci_notlari.txt" try: with open(dosya_adi, "r") as dosya: satirlar = dosya.readlines() if not satirlar: print("Henüz hiçbir not kaydedilmemiş.") else: for satir in satirlar: ogrenci, notlar = satir.strip().split(":") print(f"Öğrenci: {ogrenci}, Notlar: {notlar}") except FileNotFoundError: print("Not dosyası bulunamadı.") def not_ortalamasi_hesapla(): """Kaydedilen notları okuyup her öğrenci için ortalama hesaplar.""" dosya_adi = "ogrenci_notlari.txt" try: with open(dosya_adi, "r") as dosya: satirlar = dosya.readlines() if not satirlar: print("Henüz not girilmemiş.") else: for satir in satirlar: ogrenci, notlar = satir.strip().split(":") notlar = eval(notlar) # String olan listeyi gerçeğe dönüştürüyoruz ortalama = sum(notlar) / len(notlar) print(f"{ogrenci} adlı öğrencinin not ortalaması: {ortalama:.2f}") gecti_mi(ogrenci, ortalama) except FileNotFoundError: print("Not dosyası bulunamadı.") def gecti_mi(ogrenci, ortalama): """Öğrencinin geçip geçmediğini kontrol eder.""" if ortalama >= 60: print(f"{ogrenci} geçti.") else: print(f"{ogrenci} kaldı.") # Ana menü while True: print(" ---- Öğrenci Değerlendirme Uygulaması ----") print("1. Not Gir") print("2. Notları Görüntüle") print("3. Not Ortalaması Hesapla") print("4. Çıkış") secim = input("Bir seçenek seçin (1/2/3/4): ") if secim == '1': not_girisi() elif secim == '2': notlari_oku() elif secim == '3': not_ortalamasi_hesapla() elif secim == '4': print("Çıkış yapılıyor.") break else: print("Geçersiz seçim, lütfen tekrar deneyin.")

Kod Açıklaması:

  1. Not Girişi (not_girisi): Kullanıcıdan öğrenci adı ve notlarını alır, ardından bu notları bir dosyaya kaydeder. Notlar liste halinde kaydedilir.

  2. Notları Okuma (notlari_oku): Kaydedilen notları dosyadan okur ve ekrana yazdırır.

  3. Not Ortalamasını Hesaplama (not_ortalamasi_hesapla): Dosyadaki her öğrenci için notları okur ve ortalama hesaplar. Ortalamaya göre öğrencinin geçip geçmediğini kontrol eder.

  4. Geçme Durumu (gecti_mi): Öğrencinin not ortalamasını alır ve 60'tan büyükse "geçti", küçükse "kaldı" çıktısını verir.

  5. Menü: Kullanıcıya seçim sunar; not girebilir, notları görüntüleyebilir veya ortalamayı hesaplayabilir. Ayrıca çıkış yapma seçeneği de mevcuttur.

Çalışma Prensibi:

  • Öğrencinin adı ve notları girildikten sonra, program bu verileri "ogrenci_notlari.txt" adlı bir dosyaya kaydeder.
  • Öğrencilerin notları ve ortalamaları dosyadan okunup görüntülenebilir.
  • Not ortalaması 60'ın üzerinde olan öğrenciler geçti olarak değerlendirilir, 60'ın altında olanlar ise kalır.

Geliştirme Önerileri:

  • Kullanıcıdan birden fazla öğrenci notu girmek için daha dinamik bir giriş sistemi eklenebilir.
  • Ortalamaya göre harf notu sistemi (AA, BA, BB gibi) uygulanabilir.
  • Notlar, belirli dersler için ayrı ayrı girilebilir. Örneğin, "Matematik", "Fizik" vb. derslerin notları farklı satırlarda kaydedilebilir.

Bu Python uygulamasıyla basit bir öğrenci değerlendirme sistemi oluşturmuş oluyorsunuz. Hem öğrenci notlarını dosyaya kaydedebilir hem de bu notlara göre değerlendirme yapabilirsiniz.



Yorum Ekle

Üzerine gel