Как посчитать проценты в python

Посчитать проценты в Питоне

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

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

Укажите размер файла для скачивания: 123
Какова скорость вашего соединения? 27
Прошло 1 сек. Скачано 27 из 123 Мб (22%)
Прошло 2 сек. Скачано 54 из 123 Мб (44%)
Прошло 3 сек. Скачано 81 из 123 Мб (66%)
Прошло 4 сек. Скачано 108 из 123 Мб (88%)
Прошло 5 сек. Скачано 123 из 123 Мб (100%)

как рассчитать процент в Python

как рассчитать процент в Python

24. Расчет процентной программы в качестве примера — изучение Python

Это моя программа

Однако результат в процентах 0 . Как правильно рассчитать процент в Python?

  • несвязанный: если у вас есть дробь, то вывести ее в процентах: print ‘<:.0>‘.format(sum(marks) / (len(marks) * perfect_mark * 1.0))

Я думаю, вы учитесь Python. Остальные ответы верны. Но я собираюсь ответить на ваш главный вопрос: «как посчитать процент в питоне»

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

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

Здесь вы можете протестировать код и поэкспериментировать с ним.

Вы выполняете целочисленное деление. Добавить .0 к числовым литералам:

В Python 2.7 разделение 100/500==0 .

Как указывает @unwind, float() вызов является лишним, поскольку умножение / деление на число с плавающей запятой возвращает число с плавающей запятой:

Это потому что (100/500) целочисленное выражение, дающее 0.

нет необходимости в float() вызов, так как использование литерала с плавающей запятой ( 100.0 ) в любом случае сделает все выражение с плавающей точкой.

  • @unwind Ты прав насчет float явное преобразование. Я просто включил, потому что копия вставила строку OP. Исправление в моем ответе.

Расчет процента, который у меня сработал:

Примечание: функция raw_input () используется для приема ввода с консоли и значения в формате возвращаемой строки. Поэтому нам нужно преобразовать в целое число, иначе это даст ошибку преобразования.

Я знаю, что опаздываю, но если вы хотите узнать самый простой способ, вы можете написать такой код:

Вы можете изменить количество очков и right_questions. Он покажет вам процент.

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

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

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

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

  • %.0f расшифровывается как “печатать плавающее число с 0 десятичными разрядами”, поэтому %.2f будет печатать 33.33
  • %% печатает литерал % . Чуть чище, чем ваш оригинал +’%’
  • 1.0 вместо 1 заботится о том, чтобы заставить дивизию плавать, так что не более 0.0

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

Посчитать проценты в списке

Как проверить на сколько следующее число больше в процентах от предыдущего?

Ну раз разница нужна, то так:

Попробуйте такой вариант:

На выходе получите:

дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.1.7.41110

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *