已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
9小时前关门了。
Improve this question
我下面的代码在摄氏度、华氏度和开尔文之间转换温度。
def convTemp(x, fro = "C", to = "F"):
if fro == to:
warnings.warn("Your 'fro' parameter is the same as your 'to' parameter!")
return (x)
if fro == "C":
if to == "K":
return np.array(x) + 273.15
else:
return np.array(x) * (9/5) + 32
elif fro == "F":
if to == "C":
return (np.array(x) - 32) * (5/9)
else:
return (np.array(x) - 32) * (5/9) + 273.15
elif fro == "K":
if to == "C":
return np.array(x) - 273.15
else:
return np.array(x) - 273.15 * (9/5) + 32
我在测试
convTemp([0,10,20])
然后我得到
array([32., 50., 68.])
但我想要的是
array([32, 50, 68])
我该怎么解决这个问题?
1条答案
按热度按时间6ie5vjzr1#
好了,你的问题是你给了numpy浮点数。因为numpy是用c写的,当它把每个数字转换成字符串显示给你时,它会确保它有一个“.”,这样你就可以知道它是一个浮点数。你有两个解决方案:
arr = np.empty(9, dtype=int)
,然后只通过舍入得到的值来给它整数值。尽管我怀疑这是你想要的,因为温度不是严格的整数。print(arr)
,它总是会显示一个“.”,所以你的解决方案是创建你自己的打印函数。