''' ÖRNEK : Dersten Geçme ''' def mutlak_deger(metin): if metin.startswith('-'): metin = metin[1:] # 123123123 if metin.isdecimal(): return int(metin) return False sinif_mevcudu = int(input('Lütfen sınıf mevcudunu giriniz: ')) i = 0 vize_katsayisi = 0.3 final_katsayisi = 0.7 sinif_not_toplam = 0 ogrenciler = [] # sınıf mevcuduna kadar öğrenci bilgilerini soracak while len(ogrenciler) < sinif_mevcudu: # ogrenci numarası sadece sayı kabul edecek. eğer negatif sayı girilirse # onu pozitif sayıya çevirip öyle kayıt edecek. # eğer öğrenci daha önce eklendiyse aynı öğrenciyi ekleyemezsiniz diye # hata verdirelim while True: ogrenci_no = input('Lütfen öğrenci no giriniz: ') ogrenci_abs = mutlak_deger(ogrenci_no) # eğer mutlak değer True if ogrenci_abs: break else: print('Lütfen öğrenci numarası için sayı giriniz') # öğrenci adı sadece harf ve boşluktan oluşabilir # Öğrenci adı doğru girilene kadar öğrenci adını sormak için while True: ogrenci_adi = input('Lütfen öğrenci adı giriniz: ') ogrenci_adi = ogrenci_adi.replace(' ', '') if ogrenci_adi.isalpha(): break else: print('Öğrenci adı sadece boşluk ve harften oluşabilir') ''' # öğrenci adındanki harflerin kontrolü için tek tek harfleri dönderiyor for harf in ogrenci_adi: # karakter boşluk veya harf mi? if harf.isalpha() or harf.isspace(): # sonraki harfe geç continue else: print('Öğrenci adı sadece boşluk ve harften oluşabilir') # for döngüsünü bitir break else: # olağan olarak sonuçlanırsa while döngüsünden çık break ''' while True: vize_notu = input('Lütfen vize notu giriniz: ') vize_abs = mutlak_deger(vize_notu) if vize_abs: break else: print('Lütfen vize notu için sayı giriniz') while True: final_notu = input('Lütfen final notu giriniz: ') final_abs = mutlak_deger(final_notu) if final_abs: break else: print('Lütfen final notu için sayı giriniz') agirlikli_not = vize_abs * vize_katsayisi + final_abs * final_katsayisi sinif_not_toplam += agirlikli_not ogrenciler.append([ogrenci_abs, ogrenci_adi, vize_abs, final_abs, agirlikli_not]) sinif_ortalamasi = sinif_not_toplam / sinif_mevcudu gecenler = [] kalanlar = [] for ogrenci in ogrenciler: print(ogrenci) # [60, 'Emre', 70, 60, 63.0], if ogrenci[4] >= sinif_ortalamasi: gecenler.append(ogrenci[1]) else: kalanlar.append(ogrenci[1]) print('Sınıf Ortalaması: ', sinif_ortalamasi) print('Kalanlar: ', kalanlar) print('Geçenler:', gecenler)