Cześć, mam dzisiaj taki problem. Chcę w skrypcie podzielić dwie liczby np a = 2 / 3
i chcę wyświetlić wartość, to zamiast otrzymać liczbę po przecinku to otrzymuję 0. Czy jest możliwość zresetowania środowiska, albo naprawienia tego problemu?
- Rejestracja:ponad 5 lat
- Ostatnio:około 2 lata
- Postów:43
- Rejestracja:około 7 lat
- Ostatnio:19 dni
- Postów:366
W pytonie masz dwa rodzaje dzielenia: dla liczb/cyfr całkowitych oraz zmiennoprzecinkowych. W Twoim przypadku obie cyfry są całkowite więc będzie wybrane dzielenie całkowite. Żebyś miał wynik przecinkowy to musisz jedną z cyfr zamienić na zmiennoprzecinkową np poprzez dodanie .0 na końcu czyli a = 2.0 / 3
Edit: Źródło: https://technikinformatyk.pl/kursy/kurs/python/lekcja/python-operatory-arytmetyczne/
Nie pisz niczego nowego w Pythonie 2, ten język jest już martwy. Python 3 ma w tym momencie prawie dwanaście lat, było naprawdę dużo czasu, żeby się przesiąść…
I Python 3 ma domyślnie właśnie dzielenie zmiennoprzecinkowe, zatem:
>>> 2/3
0.6666666666666666
>>> 2//3
0

- Rejestracja:ponad 8 lat
- Ostatnio:2 dni
- Postów:1265
@PerlMonk:
Masz rację w tym że faktycznie jest różnica. Tyle, że w Pytonie 2 jest właśnie zaokrąglanie w dół
, a nie obcinanie wartości po przecinku
.
> 2/3
0
> 2.0/3
0.666666666667
> -2.0/3
-0.666666666667
> -2/3
-1
Gdyby było obcinanie wartości po przecinku, to ostatni wynik byłby -0
, a nie -1
.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
zaokrąglana w dól
co jest tożsame z usunięciem części po przecinku.PerlMonkPerlMonk