Python中计算百分比的程序

2025年1月5日 | 阅读 7 分钟

理解百分比是数学的重要组成部分,在科学、金融和日常生活等各种领域都有应用。百分比计算在编程中是一项典型任务,尤其是在数据分析、预算和评分系统中。Python 以其易用性和适应性,是开发计算百分比程序的绝佳平台。在本文中,我们将探讨如何编写一个可以轻松计算百分比的 Python 程序。

理解百分比

在深入研究 Python 代码之前,让我们回顾一下百分比的概念。百分比是 100 的分数。 '%' 是常用的符号。例如,如果您有 50 个苹果中的 30 个,那么您拥有的苹果比例是 (30/50) * 100,即 60%。

使用 filter()、lambda 和 len() 在 Python 中计算百分比

示例 1

输入

输出

New List : [10, 15, 20, 25, 30, 35, 40]
Percentage of numbers greater than or equal to 20 in the new list : 71.42857142857143
  • new_input_list:这是整数的更新列表。
  • 打印新的输入列表:终端会显示 new_input_list 的内容。
  • filter()、lambda:我们使用 filter() 结合 lambda 函数来过滤 new_input_list 中大于或等于 20 的条目。lambda x: x >= 20 函数作为过滤器,仅选择满足条件的元素。
  • filtered_list:此变量包含 lambda 函数过滤后的 new_input_list 中的条目列表,这些条目大于或等于 20。
  • 查找 %:要查找百分比,请将过滤列表的长度除以新输入列表的长度,然后将结果乘以 100。
  • 打印结果:解释消息和计算出的百分比会显示在控制台上。

此代码展示了如何使用 filter()、lambda 和 len() 在 Python 中根据条件过滤列表并确定满足该条件的元素的百分比。

示例 2

输入

输出

New List : [5, 12, 25, 40, 55, 60, 75]
Percentage of numbers greater than or equal to 40 in the new list : 57.14285714285714

好处

  1. 可读性:对于熟悉函数式编程的任何人来说,这种方法都很简单。
  2. 函数式编程:有些人认为函数式编程更优美、更清晰。Filter() 和 lambda 支持这种方法。

缺点:对于新手或不熟悉函数式编程概念的人来说,可能不太容易理解。

使用 list()、map() 和 find() 进行 Python 百分比计算

示例 1

输入

输出

New List : [13, 67, 62, 36, 19, 66, 14, 63, 60]
Percentage of elements starting with the digit 6 in the new list : 66.66666666666666
  • new_input_list:这是整数的更新列表。
  • 打印新的输入列表:终端会显示 new_input_list 的内容。
  • 使用 locate()、map() 和 list()。我们使用 map() 和 str() 将 new_input_list 中的每个数字转换为字符串。接下来,我们使用 find() 方法遍历列表中的每个字符串表示(项),并确定它是否包含数字“6”。如果字符串包含数字“6”,则将匹配的整数追加到 filtered_list。
  • 查找 %:要查找百分比,请将过滤列表的长度除以新输入列表的长度,然后将结果乘以 100。
  • 打印结果:解释消息和计算出的百分比会显示在控制台上。

此代码通过过滤掉其他元素来确定列表中以数字“6”开头的元素所占的比例。

示例 2

输入

输出

List : [13, 67, 62, 36, 19, 66, 14, 63, 60]
Percentage of elements starting with the digit 6 in the list : 66.66666666666666

使用列表推导和 len()

示例 1

输入

输出

New List : [13, 67, 62, 36, 19, 66, 14, 63, 60]
Percentage of elements starting with the digit 6 in the new list : 55.55555555555556
  • new_input_list:这是整数的更新列表。
  • 打印新的输入列表:终端会显示 new_input_list 的内容。
  • 使用列表推导,我们遍历 new_input_list 中的每个元素(num)来构建一个新列表(filtered_list)。我们使用 startswith() 函数确定数字的字符串表示是否以数字“6”开头。如果符合,则该数字会出现在 filtered_list 中。
  • 查找 %:要查找百分比,请将过滤列表的长度除以新输入列表的长度,然后将结果乘以 100。
  • 打印结果:解释消息和计算出的百分比会显示在控制台上。

此代码现在提供了 new input list 中以数字“6”开头的条目所占的比例,并且与更新后的 input list 兼容。

示例 2

输入

输出

New List : [10, 15, 20, 25, 30, 35, 40]
Percentage of even elements in the new list : 57.14285714285714
  • new_input_list:这是整数的更新列表。
  • 打印新的输入列表:终端会显示 new_input_list 的内容。
  • 使用列表推导,我们遍历 new_input_list 中的每个元素(num)来构建一个新列表(filtered_list)。我们使用 startswith() 函数确定数字的字符串表示是否以数字“6”开头。如果符合,则该数字会出现在 filtered_list 中。
  • 查找 %:要查找百分比,请将过滤列表的长度除以新输入列表的长度,然后将结果乘以 100。
  • 打印结果:解释消息和计算出的百分比会显示在控制台上。

此代码使用列表推导和 len() 来提供 new input list 中偶数条目的百分比。

好处

  1. 效率:由于列表推导是 Python 优化的,因此它们通常比类似的循环更快,需要的内存也更少。
  2. 可读性:列表推导易于阅读,因为它们清晰简洁。

缺点:那些不熟悉列表推导的人可能会觉得它不太容易理解。

最后,本文展示了如何编写一个计算百分比的 Python 程序。理解百分比以及如何以编程方式计算它们是用于各种用途的有用技能。Python 的可读性和简单性使得实现此类程序变得容易,从而使需要百分比的任务更加高效和易于管理。