TypeError: unsupported operand type(s) for &: 'float' and 'float', but I have no &
TypeError: unsupported operand type(s) for &: 'float' and 'float', but I have no &
这是我的部分代码:
import numpy as np
import pyfits
from astropy.io import ascii
def create_randoms(min_z,max_z,min_mass):
Do some calculations and use it to
write into a file
if (max_z == 1.0 and min_mass == 1e13):
ascii.write(data_1, '/home/Documents/0.0_zphot_1.0.dat', Writer=ascii.FixedWidthNoHeader, delimiter=None)
正是在 if
语句中,我得到了错误:
TypeError: unsupported operand type(s) for &: 'float' and 'float'
我通过以下方式调用函数:
create_randoms(0.0,1.0,1e13)
我不知道为什么它似乎不喜欢这些值 1.0 and 1e13
。我在这里 不是 使用按位 &
,而是正确使用逻辑运算符 and
。但它仍然给我带来错误。
完整的错误回溯:
TypeError Traceback (most recent call last)
<ipython-input-83-d5f507b12cc0> in <module>()
----> 1 create_randoms(0.0,1.0,1e13,0,0,1,0,0,0,0,1)
/home/ssridhar/Documents/PhD_materials/Python/correlation_func/100_Hband_halos/jackknife_random_creation.py in create_randoms(min_z, max_z, min_mass, r1, r2, r3, r4, d1, d2, d3, d4)
119 """ WRITING FILES ACCORDINGLY """
120
--> 121 if (max_z == '1.0' and min_mass == '1e13'):
122 ascii.write(data_1, '/home/ssridhar/Documents/PhD_materials/2pt_correlation_master_2/Input/100_Hband_halos/jackknife/M200>1e13/K1_100sq_M200>1e13_xyz_0.0<zphot0.001<1.0.dat', Writer=ascii.FixedWidthNoHeader, delimiter=None)
123
TypeError: unsupported operand type(s) for &: 'float' and 'float'
Python 将您的代码编译为字节码,然后 运行 就这样了。但是字节码并不能产生可读的错误消息。发生错误时,Python 从磁盘加载原始源代码以显示导致错误的行。
因此,当您编辑您的代码,但不重新加载 Python 中的字节码或重新启动 Python 解释器时,您的错误消息将由不同步。有问题的旧代码是 运行,但回溯显示新代码。
在 ipython 中,重新加载代码,或者为了 100% 确定,重新启动解释器。
这是我的部分代码:
import numpy as np
import pyfits
from astropy.io import ascii
def create_randoms(min_z,max_z,min_mass):
Do some calculations and use it to
write into a file
if (max_z == 1.0 and min_mass == 1e13):
ascii.write(data_1, '/home/Documents/0.0_zphot_1.0.dat', Writer=ascii.FixedWidthNoHeader, delimiter=None)
正是在 if
语句中,我得到了错误:
TypeError: unsupported operand type(s) for &: 'float' and 'float'
我通过以下方式调用函数:
create_randoms(0.0,1.0,1e13)
我不知道为什么它似乎不喜欢这些值 1.0 and 1e13
。我在这里 不是 使用按位 &
,而是正确使用逻辑运算符 and
。但它仍然给我带来错误。
完整的错误回溯:
TypeError Traceback (most recent call last)
<ipython-input-83-d5f507b12cc0> in <module>()
----> 1 create_randoms(0.0,1.0,1e13,0,0,1,0,0,0,0,1)
/home/ssridhar/Documents/PhD_materials/Python/correlation_func/100_Hband_halos/jackknife_random_creation.py in create_randoms(min_z, max_z, min_mass, r1, r2, r3, r4, d1, d2, d3, d4)
119 """ WRITING FILES ACCORDINGLY """
120
--> 121 if (max_z == '1.0' and min_mass == '1e13'):
122 ascii.write(data_1, '/home/ssridhar/Documents/PhD_materials/2pt_correlation_master_2/Input/100_Hband_halos/jackknife/M200>1e13/K1_100sq_M200>1e13_xyz_0.0<zphot0.001<1.0.dat', Writer=ascii.FixedWidthNoHeader, delimiter=None)
123
TypeError: unsupported operand type(s) for &: 'float' and 'float'
Python 将您的代码编译为字节码,然后 运行 就这样了。但是字节码并不能产生可读的错误消息。发生错误时,Python 从磁盘加载原始源代码以显示导致错误的行。
因此,当您编辑您的代码,但不重新加载 Python 中的字节码或重新启动 Python 解释器时,您的错误消息将由不同步。有问题的旧代码是 运行,但回溯显示新代码。
在 ipython 中,重新加载代码,或者为了 100% 确定,重新启动解释器。