Python 3.x 无法加载变量,因为无法调用str obj

Python 3.x 无法加载变量,因为无法调用str obj,python-3.x,Python 3.x,无论我做了什么尝试,我都会犯这个错误。我尝试使用edf(edf_大小)和int(edf_大小) 及 。 . . 请帮帮我,我真的不知道为什么它不起作用。你需要使用全球网络吗 你能试试这个吗 file.write("The EDF Thrust Tube is "+ edf(edf_size) + " inches.\n") #Set edf tube length def edf(elf_size): thrust_tube = (edf_size * 25.4) * 4 r

无论我做了什么尝试,我都会犯这个错误。我尝试使用edf(edf_大小)和int(edf_大小)

。 . .
请帮帮我,我真的不知道为什么它不起作用。

你需要使用全球网络吗

你能试试这个吗

file.write("The EDF Thrust Tube is "+ edf(edf_size) + " inches.\n")

#Set edf tube length 
def edf(elf_size):
    thrust_tube = (edf_size * 25.4) * 4
    return str(thrust_tube)

另外,您确定没有在代码中的某个地方将edf重新定义为字符串吗?

它看起来像是您在代码中的某个地方执行了
edf=“some string”
,然后重写了
edf
函数。是的,我修复了它,谢谢。因此,原来是我在重新定义它。我有一个名为edf的输入变量和一个名为edf的函数,所以我更改了该变量,它现在可以工作了。谢谢你的帮助@乔舒帕克很高兴我能帮上忙!
edf_size = int(input("Enter the edf size, only the number portion in mm (like 64): "))
character = input("Do you want a plane with speed, power, or both? ")
while True:
    if (character == "speed"): break
    if (character == "power"): break
    if (character == "both"): break

file.write("The EDF size is "+ str(edf_size) + " mm.\n")
file.write("The EDF Thrust Tube is "+ edf() + " inches.\n")
#Set edf tube length
def edf():
    global edf_size
    thrust_tube = (edf_size * 25.4) * 4
    return str(thrust_tube)
file.write("The EDF Thrust Tube is "+ edf(edf_size) + " inches.\n")

#Set edf tube length 
def edf(elf_size):
    thrust_tube = (edf_size * 25.4) * 4
    return str(thrust_tube)