Python entoplamgidensayı1 is undefined hatası

Tipitip

Hectopat
Katılım
2 Ekim 2017
Mesajlar
818
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Python bana bazen "fentoplamgidensayı1 is undefined." Hatası veriyor. Bazen hiç hata vermiyor ama en alttaki print satırlarını çalıştırmıyor. Hata neden kaynaklı anlamadım. Bir yardımcı olabilir misiniz?

Python:
def sorular():
try:

mat = 0.
türkçe = 0.
biyoloji = 0.
fizik = 0.
kimya = 0.
tarih = 0.
cografya = 0.
din = 0.
felsefe = 0.

print("""
Lütfen aşağıdaki cevapları TYT denemelerinize göre doldurunuz.
Değerler '32.5 , 20.0 gibi ondalıklı değer olmalıdır.
""")
global saat.
global tatil.
saat = int(input("Günde şu kadar saat çalışabilirim: "))
tatil= int(input("Haftada şu kadar gün tatil yapacağım: "))
mat = float(input("Matematikteki Netim 40/"))
türkçe = float(input("Türkçe Netim 40/"))
biyoloji = float(input("Biyoloji Netim 6/"))
fizik = float(input("Fizik Netim 7/"))
kimya = float(input("Kimya Netim 7/"))
tarih = float(input("Tarih Netim 5/"))
cografya = float(input("Coğrafya Netim 5/"))
din = float(input("Din Netim 5/"))
felsefe = float(input("Felsefe Netim 5/"))

global netler.
netler = []
netler.append(mat)
netler.append(türkçe)
netler.append(biyoloji)
netler.append(fizik)
netler.append(kimya)
netler.append(tarih)
netler.append(cografya)
netler.append(din)
netler.append(felsefe)
print(netler)

except(ValueError):
print("Lütfen netlerinizi ondalıklı sayı olarak giriniz.")
exit()

if mat > 40:
print("Matematik Netiniz 40'ın üstünde olamaz.")
elif türkçe > 40:
print("Türkçe netiniz 40'ın üstünde olamaz.")
elif biyoloji > 6:
print("Biyoloji netiniz 6'nın üstünde olamaz.")
elif fizik > 7:
print("Fizik netiniz 7'nin üstünde olamaz.")
elif kimya > 7:
print("Kimya netiniz 7'nin üstünde olamaz.")
elif tarih > 5:
print("Tarih netiniz 5'in üstünde olamaz.")
elif cografya > 5:
print("Coğrafya netiniz 5'in üstünde olamaz.")
elif din > 5:
print("Din netiniz 5'in üzerinde olamaz")
elif felsefe > 5:
print("Felsefe netiniz 5'in üstünde olamaz.")
else:
sorutamam = True.

sorular()
print(netler)
çalışmagünü = 7 - tatil.
print("Hafta içinde çalışacağınız gün sayısı: {}".format(çalışmagünü))
maty = netler[0]*2.5.
türkçey = netler[1]*2.5.
biyolojiy = netler[2]*16.66.
fiziky = netler[3]*14.28.
kimyay = netler[4]*14.28.
tarihy = netler[5]*20.
cografyay = netler[6]*20.
diny = netler[7]*20.
felsefey = netler[8]*20.
print("❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑")
print("Matematik Başarın: %{0}".format(round(maty,2)))
print("Türkçe Başarın: %{0}".format(round(türkçey,2)))
print("Biyoloji Başarın: %{0}".format(round(biyolojiy,2)))
print("Fizik Başarın: %{0}".format(round(fiziky,2)))
print("Kimya Başarın: %{0}".format(round(kimyay,2)))
print("Tarih Başarın: %{0}".format(round(tarihy,2)))
print("Coğrafya Başarın: %{0}".format(round(cografyay,2)))
print("Din Bilgisi ve Ahlak Kültürü Başarın: %{0}".format(round(diny,2)))
print("Felsefe Başarın: %{0}".format(round(felsefey,2)))
print("❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑")

tmsaat = saat * 6/10.

if maty - türkçey > 0:
sonuçmattürk = maty - türkçey.
sonuçMattürk = (100-sonuçmattürk)/2.
sonuçmatTürk = sonuçMattürk + sonuçmattürk.
matyh = sonuçMattürk.
türkçeyh = sonuçmatTürk.
elif türkçey - maty > 0:
sonuçtürkmat = türkçey - maty.
sonuçTürkmat = (100-sonuçtürkmat)/2.
sonuçtürkMat = sonuçTürkmat + sonuçtürkmat.
matyh = sonuçtürkMat.
türkçeyh = sonuçTürkmat.
else:
sonuçtürkmat = türkçey - maty.
sonuçTürkmat = (100-sonuçtürkmat)/2.
sonuçtürkMat = sonuçTürkmat + sonuçtürkmat.
matyh = sonuçtürkMat.
türkçeyh = sonuçTürkmat.

türkçeçalışmasaatih = tmsaat*türkçeyh/100 * çalışmagünü.
matçalışmasaatih = tmsaat*matyh/100 * çalışmagünü.
türkçeçalışmasaati = tmsaat*(türkçeyh/100)
matçalışmasaati = tmsaat*(matyh/100)
print(matyh,türkçeyh)
print("Türkçeye günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(round(türkçeçalışmasaati,1),round(türkçeçalışmasaatih,1)))
print("Matematiğe günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(round(matçalışmasaati,1),round(matçalışmasaatih,1)))

fsaat = saat * (3/10)

yfiziky = 100 - fiziky.
ybiyolojiy = 100 - biyolojiy.
ykimyay = 100 - kimyay.

fentoplam = yfiziky + ykimyay + ybiyolojiy.

if fentoplam > 100:
while fentoplam == 100:
fentoplamgidensayı = 0.
fentoplam -= 1.
fentoplamgidensayı += 1.
fenekleneceksayı = fentoplamgidensayı/3.

fizikyh = yfiziky + fenekleneceksayı.
kimyayh = ykimyay + fenekleneceksayı.
biyolojiyh = ybiyolojiy + fenekleneceksayı.

elif fentoplam < 100:
while fentoplam == 100:

fentoplamgidensayı1 = 0.
fentoplam += 1.
fentoplamgidensayı1 +=1.
fenekleneceksayı = fentoplamgidensayı1 / 3.
fizikyh = yfiziky + fenekleneceksayı.
kimyayh = ykimyay + fenekleneceksayı.
biyolojiyh = ybiyolojiy + fenekleneceksayı.
else:
kimyayh = ykimyay.
fizikyh = yfiziky.
biyolojiyh = ybiyolojiy.

kimyaçalışmasaati = fsaat * (kimyayh/100)
fizikçalışmasaati = fsaat * (fizikyh/100)
biyolojiçalışmasaati = fsaat * (biyolojiyh/100)
kimyaçalışmasaatih = kimyaçalışmasaati * çalışmagünü.
fizikçalışmasaatih = fizikçalışmasaati * çalışmagünü.
biyolojiçalışmasaatih = biyolojiçalışmasaati * çalışmagünü.

print("Biyolojiye günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(biyolojiçalışmasaati,biyolojiçalışmasaatih))
print("Fiziğe günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(fizikçalışmasaati,fizikçalışmasaatih))
print("Kimyaya günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(kimyaçalışmasaati, kimyaçalışmasaatih))
 
Sorunu görmek çok zor "makarna kod" dediğimiz kavram ortaya çıkmış, fonksiyonlara ayırırsanız hatayı bulması daha kolay olur. Tahminimce değişken oluşturulamıyor sorun bu yüzden çıkıyor.
Sondaki print()'ler bundan dolayı mı çalışmıyor? Biraz acemiyim pratik yapayım dedim.
 
Python bana bazen "fentoplamgidensayı1 is undefined." Hatası veriyor. Bazen hiç hata vermiyor ama en alttaki print satırlarını çalıştırmıyor. Hata neden kaynaklı anlamadım. Bir yardımcı olabilir misiniz?

Python:
def sorular():
try:

mat = 0.
türkçe = 0.
biyoloji = 0.
fizik = 0.
kimya = 0.
tarih = 0.
cografya = 0.
din = 0.
felsefe = 0.

print("""
Lütfen aşağıdaki cevapları TYT denemelerinize göre doldurunuz.
Değerler '32.5 , 20.0 gibi ondalıklı değer olmalıdır.
""")
global saat.
global tatil.
saat = int(input("Günde şu kadar saat çalışabilirim: "))
tatil= int(input("Haftada şu kadar gün tatil yapacağım: "))
mat = float(input("Matematikteki Netim 40/"))
türkçe = float(input("Türkçe Netim 40/"))
biyoloji = float(input("Biyoloji Netim 6/"))
fizik = float(input("Fizik Netim 7/"))
kimya = float(input("Kimya Netim 7/"))
tarih = float(input("Tarih Netim 5/"))
cografya = float(input("Coğrafya Netim 5/"))
din = float(input("Din Netim 5/"))
felsefe = float(input("Felsefe Netim 5/"))

global netler.
netler = []
netler.append(mat)
netler.append(türkçe)
netler.append(biyoloji)
netler.append(fizik)
netler.append(kimya)
netler.append(tarih)
netler.append(cografya)
netler.append(din)
netler.append(felsefe)
print(netler)

except(ValueError):
print("Lütfen netlerinizi ondalıklı sayı olarak giriniz.")
exit()

if mat > 40:
print("Matematik Netiniz 40'ın üstünde olamaz.")
elif türkçe > 40:
print("Türkçe netiniz 40'ın üstünde olamaz.")
elif biyoloji > 6:
print("Biyoloji netiniz 6'nın üstünde olamaz.")
elif fizik > 7:
print("Fizik netiniz 7'nin üstünde olamaz.")
elif kimya > 7:
print("Kimya netiniz 7'nin üstünde olamaz.")
elif tarih > 5:
print("Tarih netiniz 5'in üstünde olamaz.")
elif cografya > 5:
print("Coğrafya netiniz 5'in üstünde olamaz.")
elif din > 5:
print("Din netiniz 5'in üzerinde olamaz")
elif felsefe > 5:
print("Felsefe netiniz 5'in üstünde olamaz.")
else:
sorutamam = True.

sorular()
print(netler)
çalışmagünü = 7 - tatil.
print("Hafta içinde çalışacağınız gün sayısı: {}".format(çalışmagünü))
maty = netler[0]*2.5.
türkçey = netler[1]*2.5.
biyolojiy = netler[2]*16.66.
fiziky = netler[3]*14.28.
kimyay = netler[4]*14.28.
tarihy = netler[5]*20.
cografyay = netler[6]*20.
diny = netler[7]*20.
felsefey = netler[8]*20.
print("❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑")
print("Matematik Başarın: %{0}".format(round(maty,2)))
print("Türkçe Başarın: %{0}".format(round(türkçey,2)))
print("Biyoloji Başarın: %{0}".format(round(biyolojiy,2)))
print("Fizik Başarın: %{0}".format(round(fiziky,2)))
print("Kimya Başarın: %{0}".format(round(kimyay,2)))
print("Tarih Başarın: %{0}".format(round(tarihy,2)))
print("Coğrafya Başarın: %{0}".format(round(cografyay,2)))
print("Din Bilgisi ve Ahlak Kültürü Başarın: %{0}".format(round(diny,2)))
print("Felsefe Başarın: %{0}".format(round(felsefey,2)))
print("❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑❑")

tmsaat = saat * 6/10.

if maty - türkçey > 0:
sonuçmattürk = maty - türkçey.
sonuçMattürk = (100-sonuçmattürk)/2.
sonuçmatTürk = sonuçMattürk + sonuçmattürk.
matyh = sonuçMattürk.
türkçeyh = sonuçmatTürk.
elif türkçey - maty > 0:
sonuçtürkmat = türkçey - maty.
sonuçTürkmat = (100-sonuçtürkmat)/2.
sonuçtürkMat = sonuçTürkmat + sonuçtürkmat.
matyh = sonuçtürkMat.
türkçeyh = sonuçTürkmat.
else:
sonuçtürkmat = türkçey - maty.
sonuçTürkmat = (100-sonuçtürkmat)/2.
sonuçtürkMat = sonuçTürkmat + sonuçtürkmat.
matyh = sonuçtürkMat.
türkçeyh = sonuçTürkmat.

türkçeçalışmasaatih = tmsaat*türkçeyh/100 * çalışmagünü.
matçalışmasaatih = tmsaat*matyh/100 * çalışmagünü.
türkçeçalışmasaati = tmsaat*(türkçeyh/100)
matçalışmasaati = tmsaat*(matyh/100)
print(matyh,türkçeyh)
print("Türkçeye günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(round(türkçeçalışmasaati,1),round(türkçeçalışmasaatih,1)))
print("Matematiğe günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(round(matçalışmasaati,1),round(matçalışmasaatih,1)))

fsaat = saat * (3/10)

yfiziky = 100 - fiziky.
ybiyolojiy = 100 - biyolojiy.
ykimyay = 100 - kimyay.

fentoplam = yfiziky + ykimyay + ybiyolojiy.

if fentoplam > 100:
while fentoplam == 100:
fentoplamgidensayı = 0.
fentoplam -= 1.
fentoplamgidensayı += 1.
fenekleneceksayı = fentoplamgidensayı/3.

fizikyh = yfiziky + fenekleneceksayı.
kimyayh = ykimyay + fenekleneceksayı.
biyolojiyh = ybiyolojiy + fenekleneceksayı.

elif fentoplam < 100:
while fentoplam == 100:

fentoplamgidensayı1 = 0.
fentoplam += 1.
fentoplamgidensayı1 +=1.
fenekleneceksayı = fentoplamgidensayı1 / 3.
fizikyh = yfiziky + fenekleneceksayı.
kimyayh = ykimyay + fenekleneceksayı.
biyolojiyh = ybiyolojiy + fenekleneceksayı.
else:
kimyayh = ykimyay.
fizikyh = yfiziky.
biyolojiyh = ybiyolojiy.

kimyaçalışmasaati = fsaat * (kimyayh/100)
fizikçalışmasaati = fsaat * (fizikyh/100)
biyolojiçalışmasaati = fsaat * (biyolojiyh/100)
kimyaçalışmasaatih = kimyaçalışmasaati * çalışmagünü.
fizikçalışmasaatih = fizikçalışmasaati * çalışmagünü.
biyolojiçalışmasaatih = biyolojiçalışmasaati * çalışmagünü.

print("Biyolojiye günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(biyolojiçalışmasaati,biyolojiçalışmasaatih))
print("Fiziğe günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(fizikçalışmasaati,fizikçalışmasaatih))
print("Kimyaya günde {} saat, haftada {} saat çalışmanı tavsiye ederim.".format(kimyaçalışmasaati, kimyaçalışmasaati

Kodlarınızı metin olarak paylaştığımız için indentleri göremiyorum. Kodlarınızı sosyalde kod nasıl paylaşılır konusundan yardım alarak paylaşabilirsiniz.
 
Kodlarınızı metin olarak paylaştığımız için indentleri göremiyorum. Kodlarınızı sosyalde kod nasıl paylaşılır konusundan yardım alarak paylaşabilirsiniz.
Sorunu çözdüm fentoplamgidensayı1 = 0 değişkenini while döngüsü içine yazmışım bundan dolayı her döngü başladığında değişkeni sıfırlıyor ondan dolayı hata alıyormuşum. Bir dahaki paylaşımımda dikkate alacağım. Dediğim gibi oldukça acemiyim daha.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı