@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
@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
@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.
@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.
Może ktoś powiedzieć co jest nie tak że gdy powinno wychodzić obesity wychodzi underweight?
źródło: comment_16514153893hzuQ43IRY5oNh2asHnuzl.jpg
Pobierzifelifelseddd = 100/ (200x200) = 100/40000 = 0.0025 - zawsze będzie mniej niż 18.5
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
ty pytasz powaznie?
ddd = weight / (height/100) ** 2Najproś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.
@paziu: xD
@brudney: co można użyć zamiast floata bo innej nie znam
@brudney: nie działa
ddd = weight / (200/100) ** 2Jeś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