Получить процент от числа python

Есть ли оператор для расчета процентов в Python?

Недавно я узнал, что знак «%» используется для вычисления остатка целого числа в Python. Однако мне не удалось определить, есть ли другой оператор или метод для вычисления процентов в Python. Подобно «/», который даст вам коэффициент, если вы просто используете float для одного из целых чисел, он фактически даст вам ответ, как традиционное разделение. Итак, какой-либо метод для процентного?

Чтобы было понятно, вы имеете в виду x * y / 100.0 или (x/y) * 100.0 ? Большинство из нас читает это как умножение; Брайан прочитал это как разделение.

4 ответа

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

Я бы добавил, что даже в математике соотношение гораздо полезнее, чем процент. Процент — это просто способ представить соотношение, с которым знакомо больше людей.

@nim6us: nim6us: если все, что вам нужно, это напечатать процент, тогда форматирование строки Python имеет такую директиву: «<:.1%>«.format(0.1234) -> ‘12.3%’ .

Вы можете просто разделить ваши два числа и умножить на 100. Обратите внимание, что это вызовет ошибку, если «целое» равно 0, так как спрашивать, какой процент от 0 числа не имеет смысла:

def percentage(part, whole): return 100 * float(part)/float(whole) 

Или, если вопрос, на который вы хотели ответить, был «что составляет 5% от 20», а не «какой процент составляет 5 из 20» (другая интерпретация вопроса, вызванная Ответ Карла Смита), вы должны написать:

def percentage(percent, whole): return (percent * whole) / 100.0 

Возможно, вы захотите добавить, если целое равно 0 и возвращает 0, так как в противном случае это вызовет исключение. Я просто столкнулся с этим, поэтому я и дам вам знать!

@CarlSmith Я не копировал твой ответ; Вы заметите, что моя версия не идентична вашей. Вторая половина была вдохновлена вашей другой интерпретацией вопроса, так что вы правы, я должен был поблагодарить вас за то, что вы вдохновили меня добавить альтернативную интерпретацию вопроса.

@CarlSmith Если вы заметили, между нашими двумя ответами есть функциональные различия, которые вы можете увидеть, если попробуете их оба: percentage(5, 20) (моя версия) дает вам 1.0 , так как 5% от 20 — 1, а percent(5, 20) (ваша версия) дает вам 0.0 , что неверно, так как вы используете разделение по этажам.

Хорошо, не волнуйтесь. Я только что заметил, что ваши изменения сделали мой ответ излишним, но не удаляемым. Я удалил свои оригинальные комментарии здесь и ниже, чтобы привести в порядок немного. Если вы хотите сделать то же самое?

Читайте также:  Build mobile app with javascript

Ответ Брайана (пользовательская функция) — это правильная и простая в использовании вещь.

Но если вы действительно хотели определить числовой тип с (нестандартным) оператором «%», например, с помощью калькуляторов стола, так что «X% Y» означает X * Y/100.0, а затем с Python 2.6 и далее вы может переопределить оператор mod():

import numbers class MyNumberClasswithPct(numbers.Real): def __mod__(self,other): """Override the builtin % to give X * Y / 100.0 """ return (self * other)/ 100.0 # Gotta define the other 21 numeric methods. def __mul__(self,other): return self * other # . which should invoke other.__rmul__(self) #. 

Это может быть опасно, если вы когда-либо использовали оператор «%» в смеси MyNumberClasswithPct с обычными целыми числами или плаваниями.

Что также утомительно в этом коде, вам также нужно определить все 21 другие методы Integral или Real, чтобы избежать следующего раздражающего и непонятного TypeError при его создании

("Can't instantiate abstract class MyNumberClasswithPct with abstract methods __abs__, __add__, __div__, __eq__, __float__, __floordiv__, __le__, __lt__, __mul__, __neg__, __pos__, __pow__, __radd__, __rdiv__, __rfloordiv__, __rmod__, __rmul__, __rpow__, __rtruediv__, __truediv__, __trunc__") 

Это действительно продвинутый материал, который, хотя и не является хорошей идеей в данном случае, показывает истинную силу типов Python!

Причины, почему я люблю питона, ЭТО. Кроме того, возможно ли не переопределить все абстрактные методы, выполнив некоторую магию с клонированием класса существующего типа int , установив операторы __mod__ и __mul__ , а затем назначив его равным MyNumberClasswithPct?

Как и так ?: gist.github.com/thorsummoner/135c6a3c9b02b63c2e79 Первоначально я расширял оба числа. Real и int, но я понял, что мне просто нужно расширить float.

@ThorSummoner да, но я специально унаследовал от абстрактных чисел базового класса. Реал вместо float , для безопасности. Попробуйте другие операторы на вашем объекте Percent и посмотрите, нет ли противоречий? Может быть, с использованием numbers.Real было слишком много паранойи.

Я думаю, что проблема была решена. во всяком случае, я думал об этом решении

def percent(string="500*22%"): if "%" == string[-1] and "*" in string: getnum = string[:-1] ops = getnum.split("*") result = int(ops[0]) * int(ops[1]) / 100 print("The <>% of <> is <>".format(ops[1], ops[0], result)) return result else: print("The argument must be a string like '500*22%'") percent("1200*30%") 

Ещё вопросы

  • 1 Сеанс Tensorflow не выполняет функцию
  • 1 hibernate 4 и joda-LocalDate и сохраните его как дату SQL
  • 0 получить выбранный переключатель из группы
  • 0 Получить фактический размер шрифта с помощью jQuery
  • 0 Mysql-запрос с левым соединением — специализировать индекс, если две строки совпадают
  • 0 Угловой фильтр точного соответствия
  • 1 Конструктор не определен, говорит Eclipse, но он определен (Java)
  • 1 NullPointerException при ответе с использованием модернизации
  • 1 Пользовательская страница входа MarkLogic App Server cookie cookie с идентификатором GET
  • 0 Как снять угловой наблюдатель с направляющего элемента?
  • 0 Javascript — загрузка изображений
  • 1 Firestore, как получить данные из пожарного магазина в представлении переработчика
  • 0 MySQL / Hibernate SQLQuery, как привести unsigned int (10) к smallint?
  • 1 StreamInsight: CleanseInput отбрасывает события
  • 0 смешанные типы данных std :: vector [дубликаты]
  • 0 Как проверить «бинарный» или неустановленный символ *?
  • 0 Ошибка JPA при странном сообщении
  • 1 Геозона для кроссплатформенного ксамарина
  • 0 ngFlow — отправлять CSRF_token через угловой в laravel
  • 0 PHP: как вернуть счетчик значения из рекурсивной функции?
  • 1 Разобрать строку составного запроса в Python
  • 1 Как рассчитать сумму целых чисел ArrayList из пользовательского ввода
  • 1 XmlResolver не вызывается с помощью XslCompiledTransform
  • 0 Durandal Transition — Ожидается, что «activeView» будет нулевым, но, похоже, оно сохранит свое прежнее состояние?
  • 1 Как запустить пакет служб SSIS через .net?
  • 1 API Route доступен с любым токеном JWT + PASSPORT
  • 0 Система маршрутизации для Custom Framework с компонентами Symfony
  • 0 Перетащите информацию таблицы?
  • 1 Почему я получаю неопределенный при использовании document.write ()?
  • 0 Как использовать ng-repeat, чтобы показать все элементы в одной строке
  • 0 Удаленный доступ к серверу MySQL на виртуальной машине
  • 0 Cron Jobs на GAE с PHP
  • 1 Поле со списком asp.net mvc
  • 1 Нахождение дельты в трех перекрывающихся наборах в python
  • 0 Использование другого интерфейса со структурой данных stl
  • 1 Хранение содержимого таблиц из одного класса в другой класс в Java
  • 1 Как повысить точность? — Распознавание активности с использованием непрерывных скрытых марковских моделей (Джамм)
  • 0 как переписать URL в Yii?
  • 0 Проблема приведения лямбда в std :: function
  • 1 QueryDocumentSnapshot не может разрешить
  • 1 Сортировка объекта массива в JavaScript
  • 1 Асинхронная проблема с несколькими задачами
  • 0 процедурный запрос firebird выдавал ошибку «token unknown» в «SET TERM #;»
  • 0 .htaccess vs chmod в чем разница с точки зрения разрешения
  • 0 дополнительные элементы данных в объединенной структуре
  • 1 Jade / мопс выберите форму Javascript Onchange событие
  • 0 Чтение строк с 2 числами в C ++
  • 0 Magento: отслеживание электронной торговли Google Analytics
  • 0 Значение столбца не отображается в сетке ng (ui)
  • 1 Проблема прозрачности с opengl / lwjgl
Читайте также:  Как вывести информацию php

Источник

Как напечатать процентное значение в Python?

Различные области, такие как машинное обучение, наука о данных и глубокое обучение, используют «данные» для построения различных моделей. Мы выполняем разные задачи с «данными»; некоторые числа/результаты представлены в виде ‘Процент ценности‘. Давайте разберемся, как напечатать процентное значение в Python.

Такие области, как машинное обучение и наука о данных, строят модели с использованием языка Python. Иногда эти модели выполняют математические расчеты, а результаты выводятся в виде процентных значений. Например, точность каждой модели печатается в виде процентов, например 99,7% или 98,5%. Эти процентные значения очень важны в этой модели для анализа.

В некоторых моделях нам нужно использовать математические формулы для оценки результатов. Например, очень простые операции, такие как 1,0/3,0 = 0,333, можно преобразовать в процентное значение, т.е. 33%. Эти операции могут быть небольшой частью больших вычислений. Давайте подробно рассмотрим процентные значения.

Что такое процентное значение?

Процентное значение является результатом деления двух чисел и умножения результата на 100. Процентное значение всегда представляется с суффиксом «%». Давайте посмотрим на несколько простых примеров, чтобы понять процентные значения.

Как преобразовать 4/5 в процентное значение?

Результат 4/5 равен 0,8. После умножения значение становится равным 80%. Окончательный результат «80%». Таким образом, мы можем рассчитать процентные значения.

Это очень просто, когда мы выполняем эти расчеты вручную или с помощью калькулятора. В языке Python есть много методов для печати процентных значений. Давайте посмотрим примеры.

Как напечатать процентное значение в Python?

В Python есть разные методы для печати процентного значения. Все методы просты и понятны. Давайте посмотрим примеры один за другим.

Пример 1: Печать процентного значения с использованием функции форматирования в Python

Функция форматирования в Python используется для замены чего-либо в строке. Функция формата используется для замены всех типов данных, таких как целое число, число с плавающей запятой, строка, символ и т. д. Таким образом, становится легко, когда мы используем метод формата для печати процентного значения в Python.

Number = 0.75 Percentage_value = "".format(Number) print(Percentage_value)

В примере 1 Число содержит значение с плавающей запятой ‘0,75’, которое используется в .формат() функция. Вторая строка кода состоит из синтаксиса «», который используется для печати знака % и расчета процентов без какой-либо точности. Это значение будет заменено «Числом» и напечатано в следующей строке.

Читайте также:  Typescript include all files

Процентное значение с использованием функции формата

Результат примера 1 75% что правильно!

Пример 2. Печать процентного значения с использованием функции форматирования в Python (с точностью)

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

В этом коде «» обозначает точность двух чисел в выводе.

Процентное значение с использованием функции формата (с точностью)

Выход примера 2 составляет 88,89%, что правильно!

Пример 3: Печать процентного значения с использованием F-строки в Python

F-строка в Python работает так же, как функция форматирования. Строка f используется с фигурными скобками, а «f» используется в качестве префикса. Эта f-строка заменит элементы из фигурных скобок заданной строкой. Здесь мы заменим исходное значение процентным значением.

Number = 0.53 Percentage_value = f"" print(Percentage_value)

В этом примере 3 мы используем f-строку вместо функции форматирования, но принцип работы такой же. Число содержит значение и ‘:.0%‘ поможет преобразовать исходное значение в процентное значение. Посмотрим на результат.

Процентное значение с использованием строки F

Пример 4. Печать процентного значения с использованием F-строки в Python (с точностью)

Здесь давайте напечатаем процентное значение, используя f-строку в Python.

Здесь, в этом примере 4, процентное значение печатается с точностью до 2, ‘0,2%’ обозначает точки с точностью до 2.

Процентное значение с использованием строки F с точностью

Результат примера 4 — «53,73%», что правильно!

Пример 5: Печать процентного значения с использованием формулы

Существует простая техника/формула для печати процентного значения в Python, которая очень проста, но для знаний мы можем ее реализовать.

Здесь, в этом примере 5, непосредственно используется формула для получения процентного значения. Простая строка печатается со знаком ‘%’. После сравнения всех примеров это самый простой метод печати процентных значений в Python.

Процентное значение с использованием формулы

Краткое содержание

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

Рекомендации

Прочтите официальную документацию по формат и f-строка для деталей.

Источник

Оцените статью