Çözüldü Python kilo endeksi hesaplama programı sürekli zayıf buluyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Graiden

Hectopat
Katılım
28 Mayıs 2019
Mesajlar
2.660
Çözümler
5
Kod:
#18, 5 kg/m.'nin altında olanlar: Zayıf
#18.5 – 24, 9 kg/m. arasında olanlar: Normal kilolu
#25 – 29, 9 kg/m. arasında olanlar: Fazla kilolu
#30 – 39, 9 kg/m. arasında olanlar: Obez
#40 kg/m.'nin üzerinde olanlar: İleri derecede obez (morbid obez), olarak görülür.
kullanıcı_boy = float(input("Kilonuzu giriniz: "))
kullanıcı_kilo = float(input("Boyunuzu giriniz: "))
kilo_çarpma = kullanıcı_boy*kullanıcı_boy
hesaplama =  100/kilo_çarpma
if hesaplama<=18.5:
    print("Zayıfsınız.")
elif hesaplama>=18.5 and hesaplama<=24.9 or hesaplama==18.5:
    print("Normalsiniz.")
elif hesaplama>=25 and hesaplama<=29.9:
    print("Fazla kilolusunuz, sağlığınız için kilo verin.")
elif hesaplama>=30 and hesaplama<=39.9:
    print("Obezitesiniz, sağlığınız için kilo verin.")
elif hesaplama>=40:
    print("İleri obezitesiniz.")

Ne tür değerler girersem gireyim zayıfsınız diyor, bunun sebebi nedir?
 
Çözüm
Okudum ama bir hata göremedim.
Değişik bir şey kadar tekrar okuyun.

Bunun dışında kilo bilgisini kullanmıyorsunuz bile. Formülü doğru bildiğinizden emin olun. Kullanıcıya birim belirtmenizde fayda var.

Genel programlama standartlarından bahsetmiyorum bile.

Kod:
#18, 5 kg/m.'nin altında olanlar: Zayıf
#18.5 – 24, 9 kg/m. arasında olanlar: Normal kilolu
#25 – 29, 9 kg/m. arasında olanlar: Fazla kilolu
#30 – 39, 9 kg/m. arasında olanlar: Obez
#40 kg/m.'nin üzerinde olanlar: İleri derecede obez (morbid obez), olarak görülür.

kullanıcı_boy = float(input("Boyunuzu giriniz (m): "))
kullanıcı_kilo = float(input("Kilonuzu giriniz (kg): "))

boy_çarpma = kullanıcı_boy * kullanıcı_boy
hesaplama = kullanıcı_kilo / boy_çarpma

if hesaplama <= 18.5:
    print("Zayıfsınız.")
elif hesaplama >= 18.5 and hesaplama<=24.9 or hesaplama==18.5:
    print("Normalsiniz.")
elif hesaplama >= 25 and hesaplama<=29.9:
    print("Fazla kilolusunuz, sağlığınız için kilo verin.")
elif hesaplama >= 30 and hesaplama<=39.9:
    print("Obezitesiniz, sağlığınız için kilo verin.")
elif hesaplama >= 40:
    print("İleri obezitesiniz.")

Vavien.

Terapat
Katılım
20 Aralık 2014
Mesajlar
12.700
Makaleler
6
Çözümler
263
Yer
İstanbul
Okudum ama bir hata göremedim.
Değişik bir şey kadar tekrar okuyun.

Bunun dışında kilo bilgisini kullanmıyorsunuz bile. Formülü doğru bildiğinizden emin olun. Kullanıcıya birim belirtmenizde fayda var.

Genel programlama standartlarından bahsetmiyorum bile.

Kod:
#18, 5 kg/m.'nin altında olanlar: Zayıf
#18.5 – 24, 9 kg/m. arasında olanlar: Normal kilolu
#25 – 29, 9 kg/m. arasında olanlar: Fazla kilolu
#30 – 39, 9 kg/m. arasında olanlar: Obez
#40 kg/m.'nin üzerinde olanlar: İleri derecede obez (morbid obez), olarak görülür.

kullanıcı_boy = float(input("Boyunuzu giriniz (m): "))
kullanıcı_kilo = float(input("Kilonuzu giriniz (kg): "))

boy_çarpma = kullanıcı_boy * kullanıcı_boy
hesaplama = kullanıcı_kilo / boy_çarpma

if hesaplama <= 18.5:
    print("Zayıfsınız.")
elif hesaplama >= 18.5 and hesaplama<=24.9 or hesaplama==18.5:
    print("Normalsiniz.")
elif hesaplama >= 25 and hesaplama<=29.9:
    print("Fazla kilolusunuz, sağlığınız için kilo verin.")
elif hesaplama >= 30 and hesaplama<=39.9:
    print("Obezitesiniz, sağlığınız için kilo verin.")
elif hesaplama >= 40:
    print("İleri obezitesiniz.")
 
Çözüm

Ecmel

Decipat
Katılım
26 Aralık 2020
Mesajlar
3.552
Makaleler
3
Çözümler
30
Boy-kilo endeksi: Vücut ağırlığınız, boyunuzun karesine bölünerek hesaplanır. 6. ve 7. satırda mantık hatası var. Bu arada hiçbir zaman Türkçe karakterler kullanmayın. Bir de şu anda hesaplamanız boyun metre cinsine göre odaklı gözüküyor. Eğer öyle yapacaksanız bunu kullanıcıya belirtmeniz ve boyu girerken nokta kullanmanız gerekli. Örneğin; 1.80 olarak giriş yapması lazım boyu 180cm olan kişinin, yoksa yanlış hesaplar.
 

DjKedi

Centipat
Katılım
24 Ekim 2020
Mesajlar
3.910
Makaleler
2
Çözümler
10
Gelelim hataya;
Kilo_çarpma = kullanıcı_boy*kullanıcı_boy
Hesaplama = 100/kilo_çarpma
İf hesaplama<=18.5:

Şİmdi adamın kilosu X, boyu y olsun, bu ikisini çarrpıyorsun 100'ü buna bölüyorsun, adamın sonucu ne çıkarsa çıksın 100'ü buna bölünce çıkacak değer 18'den küçük olacaktır.

Muhtemelen yapman gereken kilo_çarpma/100 olması gerekiyor.
 
KS
KS
Graiden

Graiden

Hectopat
Katılım
28 Mayıs 2019
Mesajlar
2.660
Çözümler
5
Gelelim hataya;
Kilo_çarpma = kullanıcı_boy*kullanıcı_boy
Hesaplama = 100/kilo_çarpma
İf hesaplama<=18.5:

Şİmdi adamın kilosu X, boyu y olsun, bu ikisini çarrpıyorsun 100'ü buna bölüyorsun, adamın sonucu ne çıkarsa çıksın 100'ü buna bölünce çıkacak değer 18'den küçük olacaktır.

Muhtemelen yapman gereken kilo_çarpma/100 olması gerekiyor.
Normalde ilk başta öyle yazmıştım ama sonradan hatanın orada olduğunu düşünüp değiştirmiştim, teşekkür ederim.
 

Yeni konular

Yukarı