我一直遇到同样的错误。
这可能是一个简单的错误,我只是有一段时间没有编码了。
#import
import math
#initailse variables
float(x1)=0.0
float(y1)=0.0
float(x2)=0.0
float(y2)=0.0
float(complete_y)=0.0
float(complete_x)=0.0
float(final_decimal)=0.0
float(heading)=0.0
#get input
print("Welcome user!")
print("please enter your coordinates in format x and y including
negatives")
x1=input()
y1=input()
print("please enter the coordinates of your target in the format x and y
including negatives, you can obtain these from the map")
x2=input()
y2=input()
print("please hold for calculation")
#calculate
y2-y1==float(complete_y)
x2-x1==float(complete_x)
y/x==float(final_decimal)
math.asin(a)==float(heading)
#output
print("fire at a heading of", heading, "not including the negative if
there is one")`enter code here`
print("press enter to close the programme")
导致错误
期望的结果是以度为单位的航向。
答案 0 :(得分:2)
我的猜测是,您想在分配值之前声明类型:
float(x)=0.0
x = input()
在python中,仅在运行时知道类型,而不能声明变量的类型。
如果您这样做:
x = 0.0
x = input()
print(type(x))
您将看到x是一个字符串,因为您使用input
方法分配了一个字符串。如果需要浮点数,则需要对其进行转换。
x = float(input())
作为旁注,
#calculate
y2-y1==float(complete_y)
如果之前声明了y1
,y2
和complete_y
,则此代码有效,它仅返回布尔值True
或False
。并且不要分配任何值。
如果需要分配值,请使用单个=
,例如
complete_y = y2 - y1
答案 1 :(得分:1)
你不能做
float(x)=0.0
您要在值float
上调用函数x
,并尝试将0.0
分配给该调用的结果,而Python无法理解。 Python知道0.0
的类型,您不必指定它是浮点数。只需
x = 0.0
此外,我不确定您希望自己的#calculate
部分会做什么,但是目前它不会以任何方式对程序的其余部分产生任何影响。