• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodawanie w Pythonie jest zepsute

Fiszki IT
Fiszki IT
0 głosów
53 wizyt
pytanie zadane 6 kwietnia w Python przez kacper1445 Gaduła (4,370 p.)

Może mi ktoś logicznie wytłumaczyć, dlaczego przy takim kodzie:

def my_range(start: float, stop: float, jump: float = 0.1):
    result_range = []

    while start < stop:
        result_range.append(start)
        start = start + jump

    return result_range


print(my_range(2.3, 3, 0.1))

Dostaję następujące wyniki?:

Nie umiem tego racjonalnie wytłumaczyć

1 odpowiedź

+1 głos
odpowiedź 6 kwietnia przez Great Mądrala (5,060 p.)
wybrane 6 kwietnia przez kacper1445
 
Najlepsza

Liczb zmiennoprzecinkowych nie da się zapisać z nieskończoną dokładnością na skończonej liczbie bitów. Poczytaj więcej chociażby w dokumentacji Pythona:

https://docs.python.org/3/tutorial/floatingpoint.html

komentarz 6 kwietnia przez kacper1445 Gaduła (4,370 p.)
Okej, to jak sprawić żeby uniknąć takich nieporządanych wyników?

Podobne pytania

0 głosów
1 odpowiedź 75 wizyt
pytanie zadane 11 kwietnia 2016 w Python przez Marian Kowal Użytkownik (960 p.)
0 głosów
0 odpowiedzi 150 wizyt
pytanie zadane 12 września 2020 w C i C++ przez magda_19 Bywalec (2,590 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

84,762 zapytań

133,562 odpowiedzi

295,998 komentarzy

56,017 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...