Örnek çözümler en aşağıda verilmiştir.
1 - Elinizde aşağıda resimdeki gibi bir dosya.txt dosyanız olsun (öğrenci sayısı farketmez, istediğiniz sayıda hazırlayın).
Burada öğrenciler ve aldıkları 2 vize ve final notları yazılı. Bu dosyadaki bilgiler ile öğrencilerin harf notunu hesaplayan ve dosyaya nasıl yazılmasını istiyorsanız o şekilde return dönen bir fonksiyon yazın. Daha sonra bu fonksiyonu kullanarak yeni oluşturmanız gereken notlar.txt dosyasına bu bilgileri yazdırın.
2 - Elinizde yine yukarıdaki şekilde bir dosya.txt dosyanız olsun (yine öğrenci sayısı farketmez, istediğiniz sayıda hazırlayın). Bu dosyadaki bilgiler ile öğrencilerin harf notunu hesaplayıp FF alanların kalanlar FF ten yüksek alanların geçenler olarak ayıran 2 adet ayrı fonksiyon yazın. Daha sonra bu fonksiyonları kullanarak yeni oluşturmanız gereken kalanlar.txt ve geçenler.txt dosyalarına bu bilgileri yazdırın.
3 - Elinizde aşağıda resimdeki gibi bir futbolcular.txt dosyası olsun.
Bu dosyadaki bilgileri kullanarak her takım için ayrı .txt dosyası oluşturun ve takıma ait futbolcuları fenerbahce.txt, besiktas.txt, galatasaray.txt gibi dosyalara ayırın.
1 -
def not_hesapla(satir):
satir = satir[:-1] #bu işlem her satırın sonundaki \n karakterini siler.
liste = satir.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = (not1 * 3/10) + (not2 * 3/10) + (not3 * 4/10)
if son_not >= 90:
harf = "AA"
elif son_not >= 85:
harf = "BA"
elif son_not >= 80:
harf = "BB"
elif son_not >= 75:
harf = "CB"
elif son_not >= 70:
harf = "CC"
elif son_not >= 65:
harf = "DC"
elif son_not >= 60:
harf = "DD"
elif son_not >= 55:
harf = "FD"
else:
harf = "FF"
return isim + "-------------------------->" + harf + "\n"
with open("dosya.txt","r",encoding="utf-8") as file:
eklenecekler_listesi = []
for x in file:
eklenecekler_listesi.append(not_hesapla(x))
with open("notlar.txt","w",encoding="utf-8") as file2:
for x in eklenecekler_listesi:
file2.write(x)
2 -
def not_hesapla(satir):
satir = satir[:-1]
liste = satir.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = (not1 * 3/10) + (not2 * 3/10) + (not3 * 4/10)
if son_not >= 90:
harf = "AA"
elif son_not >= 85:
harf = "BA"
elif son_not >= 80:
harf = "BB"
elif son_not >= 75:
harf = "CB"
elif son_not >= 70:
harf = "CC"
elif son_not >= 65:
harf = "DC"
elif son_not >= 60:
harf = "DD"
elif son_not >= 55:
harf = "FD"
else:
harf = "FF"
return isim + "-------------------------->" + harf + "\n"
def kalanlar(satir):
satir = satir[:-1]
liste = satir.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = (not1 * 3/10) + (not2 * 3/10) + (not3 * 4/10)
if son_not < 55:
return isim + " --- FF\n"
else:
return ""
def gecenler(satir):
satir = satir[:-1]
liste = satir.split(",")
isim = liste[0]
not1 = int(liste[1])
not2 = int(liste[2])
not3 = int(liste[3])
son_not = (not1 * 3/10) + (not2 * 3/10) + (not3 * 4/10)
if son_not >= 90:
harf = "AA"
elif son_not >= 85:
harf = "BA"
elif son_not >= 80:
harf = "BB"
elif son_not >= 75:
harf = "CB"
elif son_not >= 70:
harf = "CC"
elif son_not >= 65:
harf = "DC"
elif son_not >= 60:
harf = "DD"
elif son_not >= 55:
harf = "FD"
else:
harf = "FF"
if harf != "FF":
return isim + " --- " + harf + "\n"
else:
return ""
with open("dosya.txt","r",encoding="utf-8") as file:
eklenecekler_listesi = []
for x in file:
eklenecekler_listesi.append(kalanlar(x))
for x in eklenecekler_listesi:
if x == "":
eklenecekler_listesi.remove("")
with open("kalanlar.txt","w",encoding="utf-8") as file2:
for x in eklenecekler_listesi:
file2.write(x)
with open("dosya.txt","r",encoding="utf-8") as file:
eklenecekler_listesi = []
for x in file:
eklenecekler_listesi.append(gecenler(x))
for x in eklenecekler_listesi:
if x == "":
eklenecekler_listesi.remove("")
with open("gecenler.txt","w",encoding="utf-8") as file2:
for x in eklenecekler_listesi:
file2.write(x)
3 -
def fenerbahce(satir):
satir = satir[:-1]
liste = satir.split(",")
isim = liste[0]
if liste[1] == "Fenerbahçe":
return isim + " - " + liste[1] + "\n"
else:
return ""
def galatasaray(satir):
satir = satir[:-1]
liste = satir.split(",")
isim = liste[0]
if liste[1] == "Galatasaray":
return isim + " - " + liste[1] + "\n"
else:
return ""
def besiktas(satir):
satir = satir[:-1]
liste = satir.split(",")
isim = liste[0]
if liste[1] == "Beşiktaş":
return isim + " - " + liste[1] + "\n"
else:
return ""
with open("futbolcular.txt","r",encoding="utf-8") as file:
eklenecekler_listesi = []
for x in file:
eklenecekler_listesi.append(fenerbahce(x))
for x in eklenecekler_listesi:
if x == "":
eklenecekler_listesi.remove("")
with open("fenerbahce.txt","w",encoding="utf-8") as file2:
for x in eklenecekler_listesi:
file2.write(x)
with open("futbolcular.txt","r",encoding="utf-8") as file:
eklenecekler_listesi = []
for x in file:
eklenecekler_listesi.append(galatasaray(x))
for x in eklenecekler_listesi:
if x == "":
eklenecekler_listesi.remove("")
with open("galatasaray.txt","w",encoding="utf-8") as file2:
for x in eklenecekler_listesi:
file2.write(x)
with open("futbolcular.txt","r",encoding="utf-8") as file:
eklenecekler_listesi = []
for x in file:
eklenecekler_listesi.append(besiktas(x))
for x in eklenecekler_listesi:
if x == "":
eklenecekler_listesi.remove("")
with open("besiktas.txt","w",encoding="utf-8") as file2:
for x in eklenecekler_listesi:
file2.write(x)