IfElse语句在Python中工作异常

2024-04-19 16:15:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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")

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


Tags: 代码fromimportnumpyifastypenp
1条回答
网友
1楼 · 发布于 2024-04-19 16:15:37

我相信这就是你要找的。要检查值是否是整数(即使在float数组中),可以测试x == int(x)。你知道吗

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'>

相关问题 更多 >