我是一名学习Java的计算机科学专业的学生,所以我在家里和大学里做了一些Linux和Windows的混合工作.将新项目复制到Eclipse工作区后出现问题.该项目显示,但带有红色感叹号,并显示错误:
在解决构建路径错误之前,无法构建项目
我怎样才能解决这个问题?我尝试了这里描述的解决方案,但它没有用.
我目前正在从一本名为"绝对初学者的Python(第三版)"的书中学习python.书中有一个练习,概述了刽子手游戏的代码.我跟着这段代码,但是我一直在程序中间找回错误.
以下是导致问题的代码:
if guess in word:
print("\nYes!", guess, "is in the word!")
# Create a new variable (so_far) to contain the guess
new = ""
i = 0
for i in range(len(word)):
if guess == word[i]:
new += guess
else:
new += so_far[i]
so_far = new
Run Code Online (Sandbox Code Playgroud)
这也是它返回的错误:
new += so_far[i]
IndexError: string index out of range
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我解决出错的问题以及我可以做些什么来解决这个问题?
编辑:我初始化了so_far变量,如下所示:
so_far = "-" * len(word)
Run Code Online (Sandbox Code Playgroud) 我正在建立一个小程序,从用户那里获取2个地理坐标,然后计算它们之间的距离(考虑到地球的曲率).所以我查看维基百科,了解这里的公式.
基本上我基本上设置了我的python函数,这就是我想出的:
def geocalc(start_lat, start_long, end_lat, end_long):
start_lat = math.radians(start_lat)
start_long = math.radians(start_long)
end_lat = math.radians(end_long)
end_long = math.radians(end_long)
d_lat = start_lat - end_lat
d_long = start_long - end_long
EARTH_R = 6372.8
c = math.atan((math.sqrt( (math.cos(end_lat)*d_long)**2 +( (math.cos(start_lat)*math.sin(end_lat)) - (math.sin(start_lat)*math.cos(end_lat)*math.cos(d_long)))**2)) / ((math.sin(start_lat)*math.sin(end_lat)) + (math.cos(start_lat)*math.cos(end_lat)*math.cos(d_long))) )
return EARTH_R*c
Run Code Online (Sandbox Code Playgroud)
问题是结果真的不准确.我是python的新手,所以一些帮助或建议将不胜感激!