3

最近、文字がインスタンス化されたときに文字列を分割することについての質問を投稿しました。デカルト座標を計算するために、次のコードを考え出しました。ただし、エラーが発生します-'TypeError:' bool'object isunsubscriptable'-。これを修正するにはどうすればよいですか?

add_x                    =   "s1"
add_y                    =   "a3"
sample                   =   ("0-0")
coordslst                =   sample.split('-')
user_coordinate_x        =   coordslst[0]
user_coordinate_y        =   coordslst[1]
if    (add_x.split('s'))[0] == ("s"):
    new_coordinate_x    =   str(int(user_coordinate_x) - int((add_x.split('a', 's'))[1]))
elif (add_x[0] == ('a'))[0] == ("a"):
    new_coordinate_x    =   str(int(user_coordinate_x) + int((add_x.split('a', 's'))[1]))
if    (add_y.split('s'))[0] == ("s"):
    new_coordinate_y    =   str(int(user_coordinate_y) - int((add_y.split('a', 's'))[1]))
elif  (add_y.split('a'))[0] == ("a"):
    new_coordinate_y    =   str(int(user_coordinate_y) + int((add_y.split('a', 's'))[1]))
new_coordinates     =   new_coordinate_x + "-" + new_coordinate_y
print new_coordinates
4

2 に答える 2

4

ここはこの行です

elif (add_x[0] == ('a'))[0]:

(add_x[0] == ('a'))戻り値False

のような最初の要素にアクセスしようとしていますがFalse[0]、これは意味がありません。

于 2012-05-06T12:56:04.110 に答える
2

補足として、この行は次のとおりです。

coordslst = sample.split('-')

データが次のように見える場合は正しく機能し2--1ません-2--1。必要なものは次のとおりです。

sample = '-2--1'
pos = sample.index('-', 1)  # find first '-' after first character
x = sample[:pos]            # up to the dash
y = sample[pos+1:]          # skip the dash
于 2012-05-06T15:45:33.027 に答える