del_between=raw_input('Do you want to delete all the points between two points? input "N" or "Y"')
if del_between=="N" or del_between=="n":
print "You have choosen NOT to delete all the points between two points."
if del_between=="Y" or del_between=="y" :
print "Please click the first bad point and the last bad point to choose the range of the bad points"
between_badpoints=ginput(n=2)
print between_badpoints
index_between_badpoints=[]
for i in range(len(between_badpoints)):
index_between_badpoints.append(int(np.interp(between_badpoints[i][0],jd2,range(len(jd2)))))
print index_between_badpoints
index_betweens=[]
for i in range(sorted(index_between_badpoints)[0],sorted(index_between_badpoints)[1]+1):
index_betweens.append(i)
print index_betweens
for i in index_betweens[::-1]:
del lat[i],lon[i],time[i],yeardays[i],depth[i],temp[i]
このプログラムは、収集された2つのポイント間のすべてのポイントを削除しようとします。問題は、このプログラムを実行しようとすると、セグメンテーション違反が表示されることです。
クリックしてポイントを選択すると、例外「セグメンテーション違反」が発生するため、問題はこの行「between_badpoints = ginput(n = 2)」に集中していると思いますが、なぜ間違っているのかわかりません。
(この同じプログラムでこの'ginput'コマンドを使用しましたが、うまく機能しました。その後、ginput変数を削除して、このように再度使用しましたが、機能しませんでした。)