Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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
If-Else语句在Python中工作异常_Python_Numpy_Numpy Random - Fatal编程技术网

If-Else语句在Python中工作异常

If-Else语句在Python中工作异常,python,numpy,numpy-random,Python,Numpy,Numpy Random,这是我的代码,如果x不是整数,则将其转换为整数,否则将其打印为整数,但如果执行if语句中的代码,即使x是整数或浮点,其工作方式也很奇怪。我相信这就是您要寻找的。要检查值是否为整数(即使在浮点数组中),可以测试x==intx 您实际得到的输出是什么?您期望的输出是什么?你应该避免使用typex==int,而是使用isinstancex,int。问题是如果typex!=int:,它可以适用于除int以外的任何其他数据类型。这是一个猜测,但我认为用户希望检查x中的条目是否为整数。在这种情况下,检查类型

这是我的代码,如果x不是整数,则将其转换为整数,否则将其打印为整数,但如果执行if语句中的代码,即使x是整数或浮点,其工作方式也很奇怪。

我相信这就是您要寻找的。要检查值是否为整数(即使在浮点数组中),可以测试x==intx


您实际得到的输出是什么?您期望的输出是什么?你应该避免使用typex==int,而是使用isinstancex,int。问题是如果typex!=int:,它可以适用于除int以外的任何其他数据类型。这是一个猜测,但我认为用户希望检查x中的条目是否为整数。在这种情况下,检查类型不是正确的方法,因为在浮点数组中可以有整数值。
import numpy as np 
import sklearn 
import sklearn.datasets
from sklearn import svm
x = np.array([1,3,67,8])
print(x)
print(type(x))

if type(x) != int:
    y = x.astype(int)
    print(y)
    print(type(y))
else:
    print ("X is already an integer")
import numpy as np 

arr = np.array([1, 3, 67, 8, 7.5])

print(arr, type(arr))

for x in arr:
    if x != int(x):
        y = x.astype(int)
        print(y, type(y))
    else:
        print(str(int(x)) + ' is already an integer')

# [  1.    3.   67.    8.    7.5] <class 'numpy.ndarray'>
# 1 is already an integer
# 3 is already an integer
# 67 is already an integer
# 8 is already an integer
# 7 <class 'numpy.int32'>