2013-05-07 2 views
0

Я только начинаю изучать Python (2.7), и у меня есть вопрос.Вывод плавающих чисел

Первый мой код:

def add(a, b): 
    print "ADDING %d + %d" % (a, b) 
    return a + b 

number_a = float(raw_input()) 
number_b = float(raw_input()) 

add(number_a, number_b) 

Как вы можете видеть, что я хочу, чтобы попросить пользователя дать мне 2 числа с плавающей, а затем добавить их и напечатать решение. Но когда я помещаю 2 плавающих числа, они все еще печатаются как округленные числа. Как мне это понять?

ответ

2

Использование %f для поплавков. Можно регулировать с помощью десятичной точности %.2f для 2-х цифр или %.3f для трех цифр и т.д.

def add(a, b): 
    print "ADDING %.2f + %.2f" % (a, b) 
    return a + b 

number_a = float(raw_input()) 
number_b = float(raw_input()) 

add(number_a, number_b) 
2

%d форматирует d ecimal целое число. %f форматирует ф loat:

def add(a, b): 
    print "ADDING %f + %f" % (a, b) 
    return a + b 
0

Используйте поплавковый строку форматирования %f вместо целого числа %d.

0

Вы должны использовать форматирование последовательности для поплавков, а не целых чисел, так что:

print "ADDING %d + %d" % (a, b) 

должен быть:

print "ADDING %f + %f" % (a, b) 
0
def add(a, b): 
    print "ADDING {0} + {1}".format(a, b) 
    return a + b 

>>> add(1, 2) 
ADDING 1 + 2 
3 
>>> add(1.5, 3) 
ADDING 1.5 + 3 
4.5 
Смежные вопросы