massejferguson
#programowanie #python
Może ktoś powiedzieć co jest nie tak że gdy powinno wychodzić obesity wychodzi underweight?
0
  • Najlepsze
  • Wszystkie komentarze
paziu
@massejferguson:

to jak to napisać żeby było w metrach?

ty pytasz powaznie?
6
Przypadkowy
@paziu: tak, pyta poważnie. Więc poważnie mu odpisz.
3
venomik
@massejferguson: Do obliczania BMI podaje się wzrost w metrach, pewnie tutaj.
Generalnie łatwo do zdebugować. Daj 'print(ddd)' w czwartej linijce i zobaczysz do którego warunku powinno wpaść.

Co do poprawy:
- pamiętaj o istnieniu czegoś takiego jak 'else'
- nazywaj sensownie zmienne: ddd? WTF?
- kod wklejaj w coś tekstowego (pastebin), a nie rób screena
1
arysto2011
@massejferguson:

if
elif
else
0
Afropolon
@massejferguson podajesz wagę: 100, podajesz wzrost 200 (łatwiej liczyc) , dochodzimy do równania:

ddd = 100/ (200x200) = 100/40000 = 0.0025 - zawsze będzie mniej niż 18.5
0
massejferguson
@Afropolon: to jak to napisać żeby było w metrach?
0
massejferguson
@paziu: poważnie pytam bo dopiero zaczynam zabawe z programowaniem i sie zastanawiam jak to napisać żeby nie liczyło 200cm tylko 2 metry i nie mam pojęcia
0
Eredin
@massejferguson: Podziel przez 100 ( ͡° ͜ʖ ͡°)
0
brudney
brudney
@massejferguson: Jak wyżej piszą możesz dzielić przez 100. ddd = weight / (height/100) ** 2
Najprościej skonwertujesz wtedy centymetry do metrów. Ale równie dobrze skoro używasz floata we wzroście możesz jako input wpisać przykładowo 1.8 (jako 180cm), też zadziała.
0
venomik
hmm, gdyby tylko istniał jakiś trzyliterowy akronim, którego mógłby użyć jako nazwy zmiennej...


@paziu: xD

poważnie pytam bo dopiero zaczynam zabawe z programowaniem i sie zastanawiam jak to napisać żeby nie liczyło 200cm tylko 2 metry i nie mam
0
massejferguson
Ale równie dobrze skoro używasz floata


@brudney: co można użyć zamiast floata bo innej nie znam
0
massejferguson
Jak wyżej piszą możesz dzielić przez 100. ddd = weight / (height/100) ** 2


@brudney: nie działa
0
brudney
brudney
@massejferguson: A w jakiej formie wprowadzasz wzrost? Jeśli dzielisz wzrost przez 100 to przykładowy input powinien mieć wartość w centymetrach (np. height = 200), wtedy dzielenie ma sens i otrzymujesz

ddd = weight / (200/100) ** 2
Jeśli dane które wprowadzasz są od razu w metrach (na co pozwala Ci typ zmiennoprzecinkowy float), czyli 2.0 to dzielenie przez 100 jest już nie potrzebne.

Dodatkowo jak wyżej ktoś wspomniał, pamiętaj o
0