Python math.modf()方法

Python编程语言是一种动态类型的通用语言。它有各种内置和第三方模块的支持,使它成为许多用例的理想选择。

这种语言提供了一个模块,即math ,它包含各种数学运算的实现。

浮点数包含两部分–整数部分和小数部分。math 模块提供了一种方法,即modf() ,可以将一个浮点数分成各自的组成部分。

本文将讨论modf() 方法和一些相关的例子。

语法

math.modf(x)

参数

类型 描述
x 整数或浮点数 一个整数或浮点实数。

返回

modf() 方法返回两个浮点数的tuple ,其中第一个元素是浮动部分,第二个元素是整数部分。这两个值的符号与原始值或输入值相同。

例1:输入浮点数和整数

import math
print(math.modf(1))
print(math.modf(0.0))
print(math.modf(-0.0))
print(math.modf(0.00001))
print(math.modf(323.132))
print(math.modf(995.0))
print(math.modf(-0.2124))
print(math.modf(-990.562))

输出:

(0.0, 1.0)
(0.0, 0.0)
(-0.0, -0.0)
(1e-05, 0.0)
(0.132000000000005, 323.0)
(0.0, 995.0)
(-0.2124, -0.0)
(-0.5620000000000118, -990.0)

上面的Python代码使用modf() 方法来分割几个数字。选择这些数字是为了涵盖所有可能的角落情况。

请注意,当一个整数被作为输入时,小数部分默认为0.0 。此外,输入数字的符号被复制到输出元组的元素中。

例2:输入的不是一个数值

import math
print(math.modf('THIS IS A STRING'))

输出:

Traceback (most recent call last):
  File "main.py", line 3, in <module>
    print(math.modf('THIS IS A STRING'))
TypeError: must be real number, not str

modf() 方法只接受浮点和整数值。由于给这个方法的输入是一个字符串,所以它引发了一个TypeError 异常,说输入必须是一个实数。

例子 3:modf() 在一个元素的列表上

import math
nums = [1, 2.342, 44.2, -123.5998, 0., .0, 0.0]
for i in range(len(nums)):
    print(math.modf(nums[i]))

输出:

(0.0, 1.0)
(0.3420000000000001, 2.0)
(0.20000000000000284, 44.0)
(-0.5998000000000019, -123.0)
(0.0, 0.0)
(0.0, 0.0)
(0.0, 0.0)

上面的Python代码首先定义了一个浮点数和积分数的列表。接下来,使用for 循环遍历它们,对于每个元素,调用modf() 方法,将数字分割成小数和积分部分。

例4:modf() 在一个元素的元组上。

import math
nums = (1, 2.342, 44.2, -123.5998, 0., .0, 0.0)
for i in range(len(nums)):
    print(math.modf(nums[i]))

输出:

(0.0, 1.0)
(0.3420000000000001, 2.0)
(0.20000000000000284, 44.0)
(-0.5998000000000019, -123.0)
(0.0, 0.0)
(0.0, 0.0)
(0.0, 0.0)

上面的Python代码首先定义了一个浮点值和积分值的元组。接下来,使用for 循环遍历它们,对于每个元素,调用modf() 函数,将数字进一步分割成小数和积分部分。

例5:两个数字的小数部分和积分部分相乘

import math
a = 4.2
b = 8.8
fa, ia = math.modf(a)
fb, ib = math.modf(b)
print("Product of Fractional Parts:", fa * fb)
print("Product of Integral Parts", ia * ib)

输出:

Product of Fractional Parts: 0.16000000000000028
Product of Integral Parts 32.0

上面的Python程序找到了两个数的小数和积分部分。接下来,它打印出积分部分和小数部分的乘积。