如果给定一个非常接近0的值,则在函数内舍入一个数字。 - python

This question already has answers here:

How to round up a complex number?

(3个答案)

在8个月前关闭。

我是python的新手,我想弄清楚如何在此函数内四舍五入一个数字。

from math import *
import math

def complex_image(x,y,modulus):
    phase1 = math.cos(math.radians(x))
    phase2= math.sin(math.radians(y))
    image = modulus * ( phase1 + phase2 * 1j)
    return image

cx = complex_image(90,90,1)

print(f'The complex image is = {cx}')
The complex image is = (6.123233995736766e-17+1j)

它返回的值只能算作0 + 1j

如果我要给此函数值complex_image(45,45,2 / sqrt(2),则返回:

The complex image is = (1+0.9999999999999998j)

我如何写一个条件,例如,如果阶段1的值是6.123233995736766e-17(一个非常接近0的数字)以将其舍入为0?

我已经试过了:

 phase1 = round(math.cos(math.radians(x)))
 phase2= round(math.sin(math.radians(y)))

但是由于这种变化,我的结果可能会出现错误,例如:
阶段1,四舍五入的complex_image(-45,-45,4 / sqrt(2)如下所示:

The complex image is = (2.82842712474619-2.82842712474619j)

没有回合,结果是:

The complex image is = (2-1.9999999999999996j)

确实是正确的答案,但我希望将其完美舍入为2-2j

python大神给出的解决方案

您想在计算结束时四舍五入;乘以模数之后,而不是之前。

如果您要对复数进行几种不同的计算,那么有一个仅用于四舍五入的函数可能会很有用。

def round_complex(z, ndigits=0):
    return round(z.real, ndigits) + 1j * round(z.imag, ndigits)

用法:

>>> print('The complex image is', round_complex(cx, 8))
The complex image is (2-2j)

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

有没有一种方法可以有效地矢量化图像上的Tensorflow操作? - python

Tensorflow有大量的变换,可以应用于表示图像([高度,宽度,深度])(例如tf.image.rot90()或tf.image.random_flip_left_right())的3D张量。我知道它们应与队列一起使用,因此它们只能在一个图像上运行。但是,是否有一种方法可以对操作进行矢量化处理,以将4D张量([batch_size,height,widt…

子条件的python条件覆盖 - python

我试图找到一个python代码覆盖率工具,该工具可以衡量语句中是否包含子表达式:例如,我想看看下面的示例是否涵盖了condition1 / condition2 / condtion3?if condition1 or condition2 or condition3: x = true_value python大神给出的解决方案 对此的唯一合理答案是:当前…

USB设备发行 - python

我目前正在使用PyUSB。由于我不熟悉USB,所以我不知道如何执行以下操作。我已经从Python PyUSB成功连接到我的USB设备硬件。在代码中,我需要重置USB设备硬件。通过向硬件发送命令来完成。现在,在硬件重置后,我想从Python PyUSB释放当前的USB设备。然后,我想在重置后将其重新连接到USB设备硬件。请让我知道,如何释放USB设备连接和接口…

Python-熊猫描述了抛出错误:无法散列的类型“ dict” - python

更新:我正在使用“ Socrata开源API”中的一些示例代码。我在代码中注意到以下注释:# First 2000 results, returned as JSON from API / converted to Python # list of dictionaries by sodapy. 我不熟悉JSON。我已经下载了一个数据集,并创建了一个包含大量…