как показать процент в python

это мой код:

print str(float(1/3))+'%' 

и он показывает:

  • Как сделать правильный тик сервера с помощью python?
  • Ошибка ложной синтаксической ошибки PyCharm с использованием черепахи
  • Трубопроводы и степеды
  • Лучшая среда разработки с открытым исходным кодом для создания приложений в Google App Engine?
  • Является ли список зарезервированных слов и встроенных языков Python доступными в библиотеке?
  • Проверьте, не открыт ли файл (не используется другим процессом) в Python
  •  0.0% 

    но я хочу получить 33%

    что я могу сделать.

  • Функция таймаута, если требуется слишком много времени для завершения
  • Python: легко получить доступ к глубоко вложенному dict (get и set)
  • Распространение программ Python
  • Аутентификация с использованием любого OpenID с Tipfy
  • 'id' - имя плохой переменной в Python
  • Нажмите все нули в одну сторону списка
  • 6 Solutions collect form web for “как показать процент в python”

    format является встроенным с Python 2.6:

     >>> print "{0:.0f}%".format(1./3 * 100) 33% 

    Если вы не хотите целочисленного деления, вы можете импортировать подразделение __future__ из __future__ :

     >>> from __future__ import division >>> 1 / 3 0.3333333333333333 # The above 33% example would could now be written without the explicit # float conversion: >>> print "{0:.0f}%".format(1/3 * 100) 33% # Or even shorter using the format mini language: >>> print "{:.0%}".format(1/3) 33% 

    Существует более удобный вариант « .format() для форматирования формата .format() :

     >>> '{:.1%}'.format(1/3.0) '33.3%' 

    Вы делите целые числа, а затем конвертируете в float. Вместо этого разделите поплавками.

    В качестве бонуса используйте описанные здесь методы превосходного форматирования строк: http://docs.python.org/library/string.html#format-specification-mini-language

    Чтобы указать процентное преобразование и точность.

     >>> float(1) / float(3) [Out] 0.33333333333333331 >>> 1.0/3.0 [Out] 0.33333333333333331 >>> '{0:.0%}'.format(1.0/3.0) # use string formatting to specify precision [Out] '33%' >>> '{percent:.2%}'.format(percent=1.0/3.0) [Out] '33.33%' 

    Отличный камень!

    Только ради полноты, поскольку я заметил, что никто не предложил этот простой подход:

     >>> print "%.0f%%" % (100 * 1.0/3) 33% 

    Детали:

    • %.0f означает « print float с 0 десятичными знаками », поэтому %.2f будет печатать 33.33
    • %% печатает буквальный % . Немного чище, чем ваш оригинал +'%'
    • 1.0 вместо 1 заботится о принуждении деления к плаванию, поэтому не более 0.0

    Тогда вы захотите сделать это вместо этого:

     print str(int(1.0/3.0*100))+'%' 

    .0 их как float, а int() снова округляет их до целых чисел.

    Как насчет чего-то вроде этого:

     print str( round( float(1.0/3.0) * 100 ) )[:2] + '%' 

    Этот бит [: 2] отрежет .0 от результата.

    Python - лучший язык программирования в мире.