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