用于处理数字的内置 Python 3 函数

您所在的位置:网站首页 sum函数用于计算什么 用于处理数字的内置 Python 3 函数

用于处理数字的内置 Python 3 函数

2023-03-25 06:24| 来源: 网络整理| 查看: 265

简介

Python 3 带有许多内置函数,您可以在您正在处理的任何程序中轻松使用它们。一些函数使您能够转换数据类型,而其他函数则特定于某种类型,例如字符串。

本教程将介绍一些可用于 Python 3 中数字数据类型的内置函数。我们将介绍以下函数:

abs()为绝对值

divmod()同时求商和余数

pow()将数字提高到一定的幂

round()将数字四舍五入到某个小数点

sum()计算可迭代数据类型中项的总和

熟悉这些方法可以在编程时为您提供更大的灵活性,以便您在决定使用哪些运算符和函数时做出明智的决定。在本教程中,我们将通过示例介绍其中一些函数。

先决条件

您应该在您的计算机或服务器上安装 Python 3 并设置编程环境。如果您没有设置编程环境,您可以参考适合您的操作系统(Ubuntu、CentOS、Ubuntu、CentOS、 Debian 等)

绝对值

内置函数abs()将返回您传递给它的数字的绝对值。在数学中,绝对值是指数字在数轴上与 0 的距离。绝对值不考虑数字从零开始的方向,这意味着负数将用正数表示。

举个例子,15的绝对值为15,-74的绝对值为74,0的绝对值为0。

绝对值是微积分和实分析的一个重要概念,但当我们考虑诸如旅行距离之类的日常情况时,它也很有意义。例如,如果我们试图到达 58 英里外的某个地方,但实际上却走了 93 英里,那么我们就超出了原来的目的地。如果我们现在要计算到达预定目的地还需要行驶多少英里,我们最终会得到一个负数,但我们不能行驶负数。

让我们使用abs()来解决这个问题:

信息: 要遵循本教程中的示例代码,请通过运行python3命令在本地系统上打开 Python 交互式 shell。然后,您可以通过在>>>提示符后添加示例来复制、粘贴或编辑示例。

目的地_miles.py

miles_from_origin = 58 # Miles destination is from origin miles_travelled = 93 # Miles travelled from origin to destination (too many) # Calculate how many miles destination is from current location: miles_to_go = miles_from_origin - miles_travelled print(miles_to_go) # Print how many miles left (a negative number) print(abs(miles_to_go)) # Use absolute value to account for negative number Output-35 35

在输出中,我们看到如果我们不使用abs()函数,在这种情况下我们有一个负数-35。虽然我们可能处于miles_travelled小于miles_from_origin的位置,但包括abs()函数考虑了负数的可能性。

对于负数,abs()将返回一个正数,因为绝对值始终为正数或零。

让我们使用带正数和零的abs():

print(abs(89.9)) print(abs(0)) Output89.9 0

当我们只寻找一个正数时,我们最有可能将abs()与一个可能是正数或负数的变量一起使用。为了解释负输入或结果,我们将使用abs()修改返回的正数。

在一个函数中求商和余数

因为底除法(返回商)和模除法(返回余数)密切相关,所以使用同时组合这两种操作的函数会很有用。

Python 内置函数divmod()将两者结合起来,首先返回来自地板除法的商,然后返回余数。

因为divmod()将使用两个数字,所以我们需要将两个数字传递给它。

divmod(a,b)

使用此功能,我们基本上执行以下操作:

a // b a & b

假设我们写了一本 80,000 字长的书。对于我们的出版商,我们可以选择每页 300 或 250 个字,我们想了解每种情况下我们会有多少页。使用divmod()我们可以立即看到我们将拥有多少页,以及有多少单词会溢出到额外的页面上。

单词_per_page.py

words = 80000 # How many words in our book per_page_A = 300 # Option A, 300 words per page per_page_B = 250 # Option B, 25- words per page print(divmod(words,per_page_A)) # Calculate Option A print(divmod(words,per_page_B)) # Calculate Option B Output(266, 200) (320, 0)

在选项 A 中,我们将有 266 页填满单词,剩下 200 个单词(一页的 2/3),总共 267 页,在选项 B 中,我们将有一本 320 页的书。如果我们想要有环保意识,我们可以选择选项 A,但如果我们想通过更大尺寸的书看起来更令人印象深刻,我们可以选择选项 B。

因为函数divmod()既可以接受整数也可以接受浮点数,让我们也来看一个使用浮点数的例子:

a = 985.5 b = 115.25 print(divmod(a,b)) Output(8.0, 63.5)

在本例中,8.0是 985.5 除以 115.25 的底商,63.5是余数。

请记住,您可以使用地板除法运算符//和模运算符%来验证divmod()做了什么:

print(a//b) print(a%b) Output8.0 63.5

在 Python 中使用divmod()函数时。我们得到除法发生的全部次数和返回的余数。

电源

在 Python 中,您可以使用运算符**将数字提高一个指数,或者您可以使用内置函数pow()接受两个数字。

要了解pow()函数的工作原理,假设我们正在对细菌进行研究,并且想看看如果我们从 1 开始,一天结束时我们会有多少细菌。我们正在研究的特定细菌每小时翻一番,所以我们将计算 2(加倍)到总小时数的幂(在我们的例子中是 24)。

细菌.py

hours = 24 total_bacteria = pow(2,hours) print(total_bacteria) Output16777216

我们将两个整数传递给pow()函数,并确定到这 24 小时结束时,我们将拥有超过 1600 万个细菌。

在数学中,如果我们要计算 3 的 3 次方,一般是这样写的:

33

我们正在完成的计算是 3 x 3 x 3,等于 27。

要在 Python 中计算 33,我们将输入pow(3,3)。

函数pow()将接受整数和浮点数,当您打算将数字提高到某个幂时,它提供了使用**运算符的替代方法。

舍入数字

在使用具有大量小数位的浮点数时,能够快速轻松地舍入数字变得很重要。内置 Python 函数round()接受两个数字,一个要四舍五入,一个指定要包含的小数位数。

我们将使用该函数获取超过 10 位小数的浮点数,并使用round()函数将小数位数减少到 4:

i = 17.34989436516001 print(round(i,4)) Output17.3499

在上面的示例中,浮点数17.34989436516001被四舍五入为17.3499,因为我们已指定小数位数应限制为 4。

另请注意,round()函数将数字向上舍入,因此它没有提供17.3498作为输出,而是提供了17.3499,因为十进制数字 8 后面的数字是数字 9。数字 5 或更大数字后面的任何数字都将被四舍五入直到下一个整数。

让我们分解一下round()的语法:

round(number to round,number of decimal places)

在日常生活中,四舍五入经常发生,尤其是在处理金钱方面;我们不能在几个朋友之间平均分配一分钱。

让我们看一个可以计算小费的程序示例。在这里,我们将提供数字,但我们可以重写程序以引入用户提供的数字。在这个例子中,3 个朋友去一家餐馆,他们想平分 87.93 美元的账单,并加上 20% 的小费。

账单_split.py

bill = 87.93 # Total bill tip = 0.2 # 20% tip split = 3 # Number of people splitting the bill total = bill + (bill * tip) # Calculate the total bill each_pay = total / split # Calculate what each person pays print(each_pay) # What each person pays before rounded print(round(each_pay,2)) # Round the number — we can’t split pennies Output35.172000000000004 35.17

在这个程序中,我们首先要求在我们计算总账单加上小费除以 3 后输出数字,它的计算结果是一个有很多小数位的数字:35.172000000000004。由于这个数字作为货币数字没有意义,我们使用round()函数并将小数位限制为 2,以便我们可以提供 3 个朋友实际可以使用的输出:35.17。

如果您希望舍入到一个只有 0 作为十进制值的数字,您可以通过使用 0 作为round()函数中的第二个参数来实现:

round(345.9874590348545304636,0)

这将评估为346.0。

您也可以将整数传递给round()而不会收到错误,以防您以整数而不是浮点数的形式收到用户输入。当一个整数作为第一个参数传递时,将返回一个整数。

计算总和

sum()函数用于计算数字复合数据类型的总和,包括列表、元组和字典。

我们可以向sum()函数传递一个列表,将列表中的所有项目按从左到右的顺序添加到一起:

some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9] print(sum(some_floats)) Output49.5

这将与元组和字典类似地工作:

print(sum((8,16,64,512))) # Calculate sum of numbers in tuple print(sum({-10: 'x', -20: 'y', -30: 'z'})) # Calculate sum of numbers in dictionary Output600 # Sum of numbers in tuple -60 # Sum of numbers in dictionary

sum()函数最多可以接受 2 个参数,因此您可以添加一个整数或浮点形式的附加数字,以添加到构成第一个位置的参数的数字:

some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9] print(sum(some_floats, 0.5)) print(sum({-10: 'x', -20: 'y', -30: 'z'},60)) Output50.0 0

当您不包含第二个参数时,sum()函数默认为可迭代复合数据类型添加 0。

结论

本教程介绍了一些可用于 Python 编程语言中的数值数据类型的内置方法。

要了解有关使用数字的更多信息,您可以阅读“How To Do Math in Python 3 with Operators”,要了解有关列表的更多信息,请查看“Understanding Lists in Python 3”。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3