2014-10-17 3 views
2

Я использую ниже, чтобы произвести процент:Python - печать% от деления

L = ['aa', 'bb'] 

for row, each in enumerate(l): 
    percent = float(row)/150 * 100 
    print "{0:.0f}%".format(percent) 

, что я хочу, чтобы иметь «0%» и «0,67%», соответственно, однако это дает «0%» и «1 %».

каким образом я могу исправить? Благодарю.

+3

Он должен быть 'перечислить (L)' и использовать эту печать '{0: .2f }% ". format (percent)' –

+0

спасибо d-coder. :) –

ответ

3

От официального documentation:

'е' - фиксированная точка. Отображает номер как номер фиксированной точки. Точность по умолчанию равна 6.

...

точность десятичное число, показывающее, сколько цифр должно отображаться после десятичной точки для значения с плавающей точкой, отформатированный с «F» и «F» ,. .

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

>>> "{0:.2f}%".format(123.4567) 
'123.46%' 
>>> 
>>> "{0:.5f}%".format(123.4567) 
'123.45670%' 

Так изменить его на: "{0:.2f}%".format(percent), а также есть опечатка в вашей для линии контура, она должна быть enumerate(L)

L = ['aa', 'bb'] 

for row, each in enumerate(L): 
    percent = float(row)/150 * 100 
    print "{0:.2f}%".format(percent) 

гравюр

0.00% 
0.67% 
+0

спасибо avi. Я не могу, если ваш приходит раньше, поэтому я выбираю выше. Пожалуйста, дайте мне знать, если с вами не все в порядке –

+0

yup, я отправил сначала, но вам нужно отметить то, что вы хотите (: – avi

3

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

for row, each in enumerate(L): 
    percent = float(row)/150 * 100 
    print "{0:.02f}%".format(percent) 

выход: -

0.00% 
0.67% 

на print "{0:.02f}%".format(percent)

выводе: - 0.667%

+0

спасибо, Вишну Упадхай. –

+0

извините, Вишну Upadhyay. avi сказал, что он отправил его первым ... –

Смежные вопросы