01/10/2018, 10:12

Làm thế nào để xuất ra giá trị thập phân trong python

Em làm bài tập python . Đoạn code như này ạ. Nhưng khi in ra kết quả thì nó luôn làm tròn số.
Cho em hỏi có cách nào để nó in ra kết quả thập phân không ạ. Em cảm ơn nhiều ạ

print "Nhap vao gia tri cua n :"
n = float(raw_input(">"))
tong_S = 0
i = 1
while i < n: 
	tong_S = tong_S + 2/(i*(i+1)) 
	i = i + 1 
print "Gia tri cua tong S la` : %f" % tong_S 
Henry viết 12:29 ngày 01/10/2018

Với Python 2.X thì / là một phép chia lấy phần nguyên

>>> 9 / 2
4

Muốn có phần thập phân thì nhiều cách. Bạn thử xem mấy cách này xem sao

>>> 9 / 2.0
4.5
>>> 9.0 / 2
4.5
>>> 9.0 / 2.0
4.5
>>> float(9) / 2
4.5
>>> 9 / float(2)
4.5
>>> float(9) / float(2)
4.5
Michael viết 12:20 ngày 01/10/2018

Mình thử rồi mà nó cứ làm tròn. Lạ thật

HK boy viết 12:24 ngày 01/10/2018

i là số nguyên bạn ạ. Phải đổi i nguyên sang i thực chứ. Hoặc ít nhất thì lúc gán cũng nên thành

i = 1.0

i = i + 1.0
Michael viết 12:25 ngày 01/10/2018

Chuẩn rồi, mình để sang thế này ok luôn

print "Nhap vao gia tri cua n :"
n = float(raw_input(">"))

i = 1.000
tong_S = 0
while i <= n:
	tong_n = 0
	j = 1.000
	while j <= i:
		tong_n = tong_n + j
		j = j + 1
	tong_S = tong_S + 1/tong_n
	i = i + 1
print " Tong S la` :" , float(tong_S)
Michael viết 12:21 ngày 01/10/2018

i là số nguyên bạn ạ. Phải đổi i nguyên sang i thực chứ. Hoặc ít nhất thì lúc gán cũng nên thành

i = 1.0

i = i + 1.0

Tks bạn nhiều nha ! Thế này mà mình loay hoay mai~, tưởng nó không hiện được thập phân chứ

Bài liên quan
0