Damlavirüs
Decapat
- Katılım
- 10 Şubat 2021
- Mesajlar
- 28
Daha fazla
- Cinsiyet
- Kadın
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.
[CODE lang="python" title="python" highlight="21."]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...")
[/CODE]
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.
[CODE lang="python" title="python" highlight="21."]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...")
[/CODE]
Son düzenleyen: Moderatör: