Ví dụ mình có phép toán sau 3/2
thì khi print
ra nó chỉ trả về 1
Mình đã thử ép kiểu như sau print(float(3/2))
thì cũng chỉ trả về là 1.0
Ở đây ai biết cách ép kiểu sao cho nó trả về 1.5
thì chỉ mình với Python nhé
Ví dụ mình có phép toán sau 3/2
thì khi print
ra nó chỉ trả về 1
Mình đã thử ép kiểu như sau print(float(3/2))
thì cũng chỉ trả về là 1.0
Ở đây ai biết cách ép kiểu sao cho nó trả về 1.5
thì chỉ mình với Python nhé
Bạn thử dùng kiểu 3.0/2.0
được rồi bạn ơi
Nhưng với những dòng code sau thì làm ntn hả bạn
y=float((4000000-(d3*d3)+(d2*d2))/4000)
x=float((4000000-(d2*d2)+(d1*d1))/4000)
z=float(math.sqrt((d1*d1)-(x*x)-(y*y)))
Thì bạn ép 1 trong 2 thành phần sbc hoặc sc thành float là được thôi
vẫn không được
Mình ép sbc y=float((4000000-(d3*d3)+(d2*d2)))/4000
Phải được chứ sao lại không được bạn lôi máy tính ra mà bấm
>>> d2 = 2000
>>> d3 = 3000
>>> y=float((4000000-(d3*d3)+(d2*d2)))/4000
>>> print y
-250.0
>>> d3 = 3001
>>> y=float((4000000-(d3*d3)+(d2*d2)))/4000
>>>
>>> print y
-251.50025
Mà cái này có liên quan đến pytago k vậy, nếu thế thì phải là dấu trừ chứ nhể
không liên quan đến pytago
d1 =1153.4786517313617
d2 =1403.7496215493702
d3 =1833.7156268080391
Chào bạn,
d2 = 2000
d3 = 3000
y = (4000000.0 - (d32) + (d22))/4000
print y
Mình làm gì được hk? Nó ra kết quả -250.0. Có giúp bạn được gì hk?
Dùng python 3 thì phép chia sẽ trả về float
Dùng python 2 thì phép chia trả về số nguyên. Muốn phép chia trả về float thì phải float(số chia)
hoặc float(số bị chia)
. float(kết quả)
không tác dụng vì kết quả
đã là số nguyên rồi.
Chào bạn,
d2 = 2000
d3 = 3001
y = round((4000000.0 - (d32) + (d22))/4000.0,2)
print y
Mình thêm round. Nó ra kết quả -251,5. Có giúp gì bạn hk?
Bạn nên thử ép kiểu Decimal, nó cho phép tính toán chính xác từng con số thập phân