Rozumieć wieży numerycznej.
Reguła 1: Przy dwóch operandach tego samego typu, wynik będzie miał ten typ.
np. int/int = int
temp**(1/8)
nie daje 8th korzeń temp ponieważ:
>>>1/8
0
Zasada 2: Jeśli argumenty są mieszane, jeden z nich będzie zmuszona na wieżę numerycznej: integer -> racjonalne -> float -> złożone.
np. unosić/int = unosić
>>>1./8 # 1. is a float
0.125
Uwaga: Mogą wystąpić przypadki, w których przepisy te nie mają zastosowania do prawdziwego podziału podział/i podłogi // ale nie w pełni je zrozumieć. Zobacz link.
"Zrobili studia, które znasz, działają w 60% przypadków ... za każdym razem." - Brian Fantana
Pułapka: W PO wątpliwość ekspresją temp**(1/8)
jest wykonana z mieszanych argumentów (temp jest pływak), więc dlaczego nie jest (1/8)
pływaka?
Argumenty są oceniane według BODMAS/BIDMAS tak (1/8)
oceniano najpierw otrzymaną ekspresji staje temp**0
w tym momencie 0
jest zmuszany do pływaka.
Wszelkie pozytywne int
lub float
do potęgi 0.0
jest 1.0
.
może możesz spróbować z '1./8.'? !! – Dalek