2015-08-01 3 views
1

Только что начал изучать Python. Почему при запуске этой программы в PowerShell результат не содержит плавающих чисел в строках 9 и 10?Почему нет плавающего выхода?

height = 74.0 #inches 
weight = 180.0 #lbs 

#converts from inches to cm/ and from lbs to kg. 
cm = height * 2.5400  
kg = weight * 0.453592 

print "" 
print "Height %d inches in cm is %d " % (height, cm)  
print "Weight in %d lbs in kg is %d " % (weight, kg) 

print type(kg) 
print type(cm) 

ответ

2

Вы использовали %d, который предназначен для печати целых чисел. Он конвертирует поплавки в целые числа.

Я бы рекомендовал использовать метод format вместо %:

print 'Height {} inches in cm is {}'.format(height, cm) 

хотя это достаточно просто сделать это правильно с %:

print "Height %s inches in cm is %s" % (height, cm) 

%s вызовы str на аргументах.

+2

В случае, если числа с плавающей запятой должны быть представлены с фиксированным числом десятичных знаков, '{: .3f}' (или '% .3f' соответственно) будет другой опцией. –

+0

Спасибо, теперь это кажется таким ясным и легким! – lione