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
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?