Damlavirüs
Hectopat
- Katılım
- 10 Şubat 2021
- Mesajlar
- 42
Daha fazla
- Cinsiyet
- Kadın
ogrenciler = ["Arda","Azra","Büşra","Ekin","Arda","Ali"]
numaralar = ["1104","1204","1080","1078","1122","255"]
notlar1 = [80,90,60,40,90,20]
notlar2 = [100,20,35,80,52,30]
#sinif=["9A","9A","9C","9C","9E","9E"]
#Arda
def ogrenciAdBul(ad):
varMi = ad in ogrenciler
if varMi==False:
print("Öğrenci Bulunamadı...")
else:
i=0
while i < len(ogrenciler):
if ogrenciler[i] == ad:
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i])
i=i+1
def ogrenciSil():
numara = input("Numara giriniz : ")
silmek = numara in numaralar
if silmek==False:
print("Çıkış yapılıyor.")
else:
#kaldir = numaralar.remove(numara)
sira = numaralar.index(numara)
numaralar.remove(numaralar[sira])
ogrenciler.remove(ogrenciler[sira])
notlar1.remove(notlar1[sira])
notlar2.remove(notlar2[sira])
def ogrenciAdGuncelle(numara):
pass
def ogrenciNoBul(numara):
varMi = numara in numaralar
if varMi==False:
print("Böyle bir öğrenci kayıtlı değil...")
else:
siraNo = numaralar.index(numara)
adi = ogrenciler[siraNo]
not1 = notlar1[siraNo]
not2 = notlar2[siraNo]
print(numara, adi , not1 , not2 , (not1+not2)/2)
def ogrenciEkle():
ad = input("Öğrenci Adını Giriniz : ")
numara = input("Öğrenci Numarasını Giriniz : ")
not1 = int(input("1. Notunu Giriniz : "))
not2 = int(input("2. Notunu Giriniz : "))
sonuc = numara in numaralar
if sonuc==True:
print("Bu numara daha önceden kayıtlı...")
elif len(ad)<2:
print("Ad en az 2 karakter olmalıdır...")
else:
ogrenciler.append(ad)
numaralar.append(numara)
notlar1.append(not1)
notlar2.append(not2)
def ogrenciListele():
i=0
while i < len(ogrenciler):
ort = (notlar1[i] + notlar2[i]) / 2
if ort<50:
durum="KALDI"
else:
durum="GEÇTİ"
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,durum)
i=i+1
def ogrenciKalanListele():
i=0
while i < len(ogrenciler):
ort = (notlar1[i] + notlar2[i]) / 2
if ort<50:
durum="KALDI"
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,durum)
i=i+1
def ogrenciGecenListele():
i=0
while i < len(ogrenciler):
ort = (notlar1[i] + notlar2[i]) / 2
if ort>=50:
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,"GEÇTİ")
i=i+1
while True:
cevap = input("""
Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : """)
if cevap=="1":
ogrenciEkle()
elif cevap=="2":
ogrenciListele()
elif cevap=="3":
numara=input("Aranan Öğrenci Numarasını Giriniz : ")
ogrenciNoBul(numara)
elif cevap=="4":
ogrenciKalanListele()
elif cevap=="5":
ogrenciGecenListele()
elif cevap=="6":
ad = input("Aranan Öğrenci Adını Giriniz : ")
ogrenciAdBul(ad)
elif cevap=="x":
ogrenciSil()
elif cevap=="ç":
break
else:
print("Geçersiz işlem seçtiniz...")
Merhaba, aşağıda yazılmış olan kodlamaya öğrenci silme fonksiyonu eklemek istedim ancak kırmızı ile boyadığım bölümden şu hatayı alıyorum. Bu arada boşluklar ve satır atlamalar doğru siteden kaynaklı dümdüz yazılmış:
Traceback (most recent call last):
File "C:\Users\Damla\OneDrive\Masaüstü\ödev\20MayisOgrenciOtomasyon.py", line 129, in <module>
ogrenciSil(numara)
NameError: name 'numara' is not defined
Hatamın nereden kaynaklı olduğuna bakabilirseniz çok sevinirim.
ogrenciler = ["Arda","Azra","Büşra","Ekin","Arda","Ali"]
numaralar = ["1104","1204","1080","1078","1122","255"]
notlar1 = [80,90,60,40,90,20]
notlar2 = [100,20,35,80,52,30]
#sinif=["9A","9A","9C","9C","9E","9E"]
#Arda
def ogrenciAdBul(ad):
varMi = ad in ogrenciler
if varMi==False:
print("Öğrenci Bulunamadı...")
else:
i=0
while i < len(ogrenciler):
if ogrenciler == ad:
print(i+1, ogrenciler,numaralar,notlar1,notlar2)
i=i+1
def ogrenciSil(numara):
silmek = numara in numaralar
if silmek==False:
print("Çıkış yapılıyor.")
else:
kaldir = numaralar.remove(numara)
adi = ogrenciler[kaldir]
not1 = notlar1[kaldir]
not2 = notlar2[kaldir]
print(adi, not1 , not2)
def ogrenciAdGuncelle(numara):
pass
def ogrenciNoBul(numara):
varMi = numara in numaralar
if varMi==False:
print("Böyle bir öğrenci kayıtlı değil...")
else:
siraNo = numaralar.index(numara)
adi = ogrenciler[siraNo]
not1 = notlar1[siraNo]
not2 = notlar2[siraNo]
print(numara, adi , not1 , not2 , (not1+not2)/2)
def ogrenciEkle():
ad = input("Öğrenci Adını Giriniz : ")
numara = input("Öğrenci Numarasını Giriniz : ")
not1 = int(input("1. Notunu Giriniz : "))
not2 = int(input("2. Notunu Giriniz : "))
sonuc = numara in numaralar
if sonuc==True:
print("Bu numara daha önceden kayıtlı...")
elif len(ad)<2:
print("Ad en az 2 karakter olmalıdır...")
else:
ogrenciler.append(ad)
numaralar.append(numara)
notlar1.append(not1)
notlar2.append(not2)
def ogrenciListele():
i=0
while i < len(ogrenciler):
ort = (notlar1 + notlar2) / 2
if ort<50:
durum="KALDI"
else:
durum="GEÇTİ"
print(i+1, ogrenciler,numaralar,notlar1,notlar2,ort,durum)
i=i+1
def ogrenciKalanListele():
i=0
while i < len(ogrenciler):
ort = (notlar1 + notlar2) / 2
if ort<50:
durum="KALDI"
print(i+1, ogrenciler,numaralar,notlar1,notlar2,ort,durum)
i=i+1
def ogrenciGecenListele():
i=0
while i < len(ogrenciler):
ort = (notlar1 + notlar2) / 2
if ort>=50:
print(i+1, ogrenciler,numaralar,notlar1,notlar2,ort,"GEÇTİ")
i=i+1
while True:
cevap = input("""
Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : """)
if cevap=="1":
ogrenciEkle()
elif cevap=="2":
ogrenciListele()
elif cevap=="3":
numara=input("Aranan Öğrenci Numarasını Giriniz : ")
ogrenciNoBul(numara)
elif cevap=="4":
ogrenciKalanListele()
elif cevap=="5":
ogrenciGecenListele()
elif cevap=="6":
ad = input("Aranan Öğrenci Adını Giriniz : ")
ogrenciAdBul(ad)
elif cevap=="x":
ogrenciSil(numara)
elif cevap=="ç":
break
else:
print("Geçersiz işlem seçtiniz...")
merhaba düzelttim bakabilirsinizHocam kodu düzenleyip atsanız da keşke biz de kodu alıp kendi editörümüzde inceleyebilsek. Böyle atarsanız TAB yerlerini ayarlamamız gerekiyor düzenleyiniz lütfen.
Düzelttim bakabilirsinizKodu şuradan atabilir misiniz? Çok karışık;
Eki Görüntüle 1035499
Düzelttim bakabilirsiniz.Program söylüyor. 129. satırda numara varmış. Ama yokmuş. Sen onu tanımlamadan değerine erişmeye çalışmışsın gibi duruyor.
Elimizde okunabilir bir kod olsaydı daha fazlasını söylemek mümkün olabilirdi.
ogrenciler = ["Arda","Azra","Büşra","Ekin","Arda","Ali"]
numaralar = ["1104","1204","1080","1078","1122","255"]
notlar1 = [80,90,60,40,90,20]
notlar2 = [100,20,35,80,52,30]
#sinif=["9A","9A","9C","9C","9E","9E"]
#Arda
def ogrenciAdBul(ad):
varMi = ad in ogrenciler
if varMi==False:
print("Öğrenci Bulunamadı...")
else:
i=0
while i < len(ogrenciler):
if ogrenciler[i] == ad:
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i])
i=i+1
def ogrenciSil():
numara = input("Numara giriniz : ")
silmek = numara in numaralar
if silmek==False:
print("Çıkış yapılıyor.")
else:
#kaldir = numaralar.remove(numara)
sira = numaralar.index(numara)
numaralar.remove(numaralar[sira])
ogrenciler.remove(ogrenciler[sira])
notlar1.remove(notlar1[sira])
notlar2.remove(notlar2[sira])
def ogrenciAdGuncelle(numara):
pass
def ogrenciNoBul(numara):
varMi = numara in numaralar
if varMi==False:
print("Böyle bir öğrenci kayıtlı değil...")
else:
siraNo = numaralar.index(numara)
adi = ogrenciler[siraNo]
not1 = notlar1[siraNo]
not2 = notlar2[siraNo]
print(numara, adi , not1 , not2 , (not1+not2)/2)
def ogrenciEkle():
ad = input("Öğrenci Adını Giriniz : ")
numara = input("Öğrenci Numarasını Giriniz : ")
not1 = int(input("1. Notunu Giriniz : "))
not2 = int(input("2. Notunu Giriniz : "))
sonuc = numara in numaralar
if sonuc==True:
print("Bu numara daha önceden kayıtlı...")
elif len(ad)<2:
print("Ad en az 2 karakter olmalıdır...")
else:
ogrenciler.append(ad)
numaralar.append(numara)
notlar1.append(not1)
notlar2.append(not2)
def ogrenciListele():
i=0
while i < len(ogrenciler):
ort = (notlar1[i] + notlar2[i]) / 2
if ort<50:
durum="KALDI"
else:
durum="GEÇTİ"
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,durum)
i=i+1
def ogrenciKalanListele():
i=0
while i < len(ogrenciler):
ort = (notlar1[i] + notlar2[i]) / 2
if ort<50:
durum="KALDI"
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,durum)
i=i+1
def ogrenciGecenListele():
i=0
while i < len(ogrenciler):
ort = (notlar1[i] + notlar2[i]) / 2
if ort>=50:
print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,"GEÇTİ")
i=i+1
while True:
cevap = input("""
Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : """)
if cevap=="1":
ogrenciEkle()
elif cevap=="2":
ogrenciListele()
elif cevap=="3":
numara=input("Aranan Öğrenci Numarasını Giriniz : ")
ogrenciNoBul(numara)
elif cevap=="4":
ogrenciKalanListele()
elif cevap=="5":
ogrenciGecenListele()
elif cevap=="6":
ad = input("Aranan Öğrenci Adını Giriniz : ")
ogrenciAdBul(ad)
elif cevap=="x":
ogrenciSil()
elif cevap=="ç":
break
else:
print("Geçersiz işlem seçtiniz...")
teşekkür ederimmKodu şöyle güncelleyin, sıkıntısız çalışıyor böyle.Python:ogrenciler = ["Arda","Azra","Büşra","Ekin","Arda","Ali"] numaralar = ["1104","1204","1080","1078","1122","255"] notlar1 = [80,90,60,40,90,20] notlar2 = [100,20,35,80,52,30] #sinif=["9A","9A","9C","9C","9E","9E"] #Arda def ogrenciAdBul(ad): varMi = ad in ogrenciler if varMi==False: print("Öğrenci Bulunamadı...") else: i=0 while i < len(ogrenciler): if ogrenciler[i] == ad: print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i]) i=i+1 def ogrenciSil(): numara = input("Numara giriniz : ") silmek = numara in numaralar if silmek==False: print("Çıkış yapılıyor.") else: #kaldir = numaralar.remove(numara) sira = numaralar.index(numara) numaralar.remove(numaralar[sira]) ogrenciler.remove(ogrenciler[sira]) notlar1.remove(notlar1[sira]) notlar2.remove(notlar2[sira]) def ogrenciAdGuncelle(numara): pass def ogrenciNoBul(numara): varMi = numara in numaralar if varMi==False: print("Böyle bir öğrenci kayıtlı değil...") else: siraNo = numaralar.index(numara) adi = ogrenciler[siraNo] not1 = notlar1[siraNo] not2 = notlar2[siraNo] print(numara, adi , not1 , not2 , (not1+not2)/2) def ogrenciEkle(): ad = input("Öğrenci Adını Giriniz : ") numara = input("Öğrenci Numarasını Giriniz : ") not1 = int(input("1. Notunu Giriniz : ")) not2 = int(input("2. Notunu Giriniz : ")) sonuc = numara in numaralar if sonuc==True: print("Bu numara daha önceden kayıtlı...") elif len(ad)<2: print("Ad en az 2 karakter olmalıdır...") else: ogrenciler.append(ad) numaralar.append(numara) notlar1.append(not1) notlar2.append(not2) def ogrenciListele(): i=0 while i < len(ogrenciler): ort = (notlar1[i] + notlar2[i]) / 2 if ort<50: durum="KALDI" else: durum="GEÇTİ" print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,durum) i=i+1 def ogrenciKalanListele(): i=0 while i < len(ogrenciler): ort = (notlar1[i] + notlar2[i]) / 2 if ort<50: durum="KALDI" print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,durum) i=i+1 def ogrenciGecenListele(): i=0 while i < len(ogrenciler): ort = (notlar1[i] + notlar2[i]) / 2 if ort>=50: print(i+1, ogrenciler[i],numaralar[i],notlar1[i],notlar2[i],ort,"GEÇTİ") i=i+1 while True: cevap = input(""" Kayıt için 1, Tüm listeleme için 2, No'ya Göre Arama 3, Kalan Öğrenciler İçin 4, Geçen Öğrenciler İçin 5, Ada göre arama için 6, Öğrenci kayıtı silmek için x, Çıkış için ç ye basın : """) if cevap=="1": ogrenciEkle() elif cevap=="2": ogrenciListele() elif cevap=="3": numara=input("Aranan Öğrenci Numarasını Giriniz : ") ogrenciNoBul(numara) elif cevap=="4": ogrenciKalanListele() elif cevap=="5": ogrenciGecenListele() elif cevap=="6": ad = input("Aranan Öğrenci Adını Giriniz : ") ogrenciAdBul(ad) elif cevap=="x": ogrenciSil() elif cevap=="ç": break else: print("Geçersiz işlem seçtiniz...")
[CODE title="Çıktı:"]Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : x
Numara giriniz : 1104
Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : 2
1 Azra 1204 90 20 55.0 GEÇTİ
2 Büşra 1080 60 35 47.5 KALDI
3 Ekin 1078 40 80 60.0 GEÇTİ
4 Arda 1122 90 52 71.0 GEÇTİ
5 Ali 255 20 30 25.0 KALDI
Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : x
Numara giriniz : 1204
Kayıt için 1,
Tüm listeleme için 2,
No'ya Göre Arama 3,
Kalan Öğrenciler İçin 4,
Geçen Öğrenciler İçin 5,
Ada göre arama için 6,
Öğrenci kayıtı silmek için x,
Çıkış için ç ye basın : 2
1 Büşra 1080 60 35 47.5 KALDI
2 Ekin 1078 40 80 60.0 GEÇTİ
3 Arda 1122 90 52 71.0 GEÇTİ
4 Ali 255 20 30 25.0 KALDI[/CODE]