Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 求圆图形_Python - Fatal编程技术网

Python 求圆图形

Python 求圆图形,python,Python,在Python中,如果我有一个带有浮点数的列表,如何找到所有的条目,它们都是圆形数字 e、 g。 检查x=[1.234,0.000000,2.0,0.0001]将给出输出 >>> False True True False 我尝试了isinstance函数,但该函数不起作用: x=[1.234,0.000000,2.0,0.0001] for i in x: print(isinstance(i,

在Python中,如果我有一个带有浮点数的列表,如何找到所有的条目,它们都是圆形数字

e、 g。 检查x=[1.234,0.000000,2.0,0.0001]将给出输出

  >>>     False
          True
          True
          False
我尝试了isinstance函数,但该函数不起作用:

x=[1.234,0.000000,2.0,0.0001]
for i in x:
    print(isinstance(i, int))

我猜从技术上讲,2.0之类的不是整数类型。因此,我不能那样使用它。

使用
isinstance
不起作用,因为从技术上讲,这些仍然都是
浮点值

>>> x = [1.234, 0.000000, 2.0, 0.0001]
>>> [type(n) for n in x]
[float, float, float, float]
但您可以检查转换为
int
的值是否等于原始值:

>>> [n == int(n) for n in x]
[False, True, True, False]
或者,正如注释中所指出的,使用
float.is_integer

>>> [n.is_integer() for n in x]
[False, True, True, False]

使用
isinstance
不起作用,因为从技术上讲,它们仍然都是
float

>>> x = [1.234, 0.000000, 2.0, 0.0001]
>>> [type(n) for n in x]
[float, float, float, float]
但您可以检查转换为
int
的值是否等于原始值:

>>> [n == int(n) for n in x]
[False, True, True, False]
或者,正如注释中所指出的,使用
float.is_integer

>>> [n.is_integer() for n in x]
[False, True, True, False]

为什么不直接使用float.is_integer()呢?@MartijnPieters,因为我没有想到它添加到答案中。由于这些是浮点数,浮点数总是近似值,那么
(4**3)**(1.0/3)
(4的立方体的立方根)呢?那还不到4,那是3.9999999996。这足够接近一个整数了吗?为什么不直接使用
float.Is_integer()
呢?@MartijnPieters,因为我没有想到它。;-)添加到答案中。由于这些是浮点数,浮点数总是近似值,那么
(4**3)**(1.0/3)
(4的立方体的立方根)呢?那还不到4,那是3.9999999996。这接近整数吗?