- Есть ли оператор для расчета процентов в Python?
- 4 ответа
- Ещё вопросы
- Как напечатать процентное значение в Python?
- Что такое процентное значение?
- Как преобразовать 4/5 в процентное значение?
- Как напечатать процентное значение в Python?
- Пример 1: Печать процентного значения с использованием функции форматирования в Python
- Пример 2. Печать процентного значения с использованием функции форматирования в Python (с точностью)
- Пример 3: Печать процентного значения с использованием F-строки в Python
- Пример 4. Печать процентного значения с использованием F-строки в Python (с точностью)
- Пример 5: Печать процентного значения с использованием формулы
- Краткое содержание
- Рекомендации
Есть ли оператор для расчета процентов в 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 , что неверно, так как вы используете разделение по этажам.
Хорошо, не волнуйтесь. Я только что заметил, что ваши изменения сделали мой ответ излишним, но не удаляемым. Я удалил свои оригинальные комментарии здесь и ниже, чтобы привести в порядок немного. Если вы хотите сделать то же самое?
Ответ Брайана (пользовательская функция) — это правильная и простая в использовании вещь.
Но если вы действительно хотели определить числовой тип с (нестандартным) оператором «%», например, с помощью калькуляторов стола, так что «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
Как напечатать процентное значение в 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’, которое используется в .формат() функция. Вторая строка кода состоит из синтаксиса «», который используется для печати знака % и расчета процентов без какой-либо точности. Это значение будет заменено «Числом» и напечатано в следующей строке.
Результат примера 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%‘ поможет преобразовать исходное значение в процентное значение. Посмотрим на результат.
Пример 4. Печать процентного значения с использованием F-строки в Python (с точностью)
Здесь давайте напечатаем процентное значение, используя f-строку в Python.
Здесь, в этом примере 4, процентное значение печатается с точностью до 2, ‘0,2%’ обозначает точки с точностью до 2.
Результат примера 4 — «53,73%», что правильно!
Пример 5: Печать процентного значения с использованием формулы
Существует простая техника/формула для печати процентного значения в Python, которая очень проста, но для знаний мы можем ее реализовать.
Здесь, в этом примере 5, непосредственно используется формула для получения процентного значения. Простая строка печатается со знаком ‘%’. После сравнения всех примеров это самый простой метод печати процентных значений в Python.
Краткое содержание
В этой статье подробно рассматривается вопрос о том, как печатать процентные значения. Некоторые основные темы, например, что такое процентное значение? как получить процентное значение? печать процентного значения с использованием различных функций, таких как формат и f-строка, также приведены примеры с точностью. Надеюсь, вам понравится эта статья.
Рекомендации
Прочтите официальную документацию по формат и f-строка для деталей.