0

次のようなファイルを開くことができるようにしたい:

42.65 42.75

-72.85 -72.75

TW52 42.73 -72.84 2.1

TW98 42.727 -72.81 2.9

TW2a 42.688 -72.82 1.1

CT4b 42.715 -72.78 2.4

CT5c 42.682 -72.779 2.41

クラスを使用してこれを行いたいのですが、どのようにアプローチするのかわかりません...これまでのところ、これがあります

class Homework:

    fname = raw_input("Enter the name of the input file ==> ")
    in_file = open(fname, "r")

    def __init__(self, in_file):
            self.in_file[0] = pID
            self.in_file[1] = latitude
            self.in_file[2] = longitude
            self.in_file[3] = distance

    def displayFile(self):
        print self.in_file[0], self.in_file[1], self.in_file[2], self.in_file[3]

x = Homework()
print x.displayFile()

最初の 2 行は、後で使用できるようにどこかに保存しておき、残りを pID、緯度、経度、距離に分けたいと考えています。

0 番目のインデックス TW52 を pID のようなオブジェクトに格納し、1 番目のインデックス 42.73 を緯度、-72.84 を経度、2.1 を距離に格納できるようにしたいと考えています。どうすればこれを行うことができますか?引数が 1 つしか指定されていないのに、 initが正確に 2 つの引数を取ることを示すエラーが表示されます。どんな助けでも大歓迎です!

4

1 に答える 1

0

あなたのエラーはそれ__init__が2つの引数を取ると言いますが、あなたはそれを1つだけ与えました(selfは自動的に渡されます)。in_file引数に何も渡さなかった:

in_file = open(filename, "r")

x = Homework(in_file)
x.displayFile()

in_file.close()

クラスに飛び込む前に、Python チュートリアルを一読することをお勧めします。変数を逆に割り当てているようです。

于 2013-03-25T23:08:42.350 に答える