2

リストをintに変更する方法に完全に困惑しています。

#Creates a list which is populated by whole names and scores
    whole_names = list()
    scores = list()

    for line in lines:
        # Makes each word a seperate object
        objects = line.split(" ")
        # Joins the first and last name of every line and makes them 
          their own seperate objects
        whole_names.append(" ".join(objects[0:2]))
    # Makes the scores of every line an object
        scores.append(objects[2:3])

rect = Rectangle(Point(2, y-50), Point(scores[0],y-25))
rect.setFill("darkgreen")
rect.draw(win)

問題は、Point(scores[0], y-25)) が塗りつぶされないことです。これは、scores[0] が int ではなくリストであるため、技術的には座標にすることはできませんが、scores[0] の実際の値はそのリストは乱数になります。それが何になるかはわかりませんが、実際には整数になります。では、score[0] をランダムな整数に変換するにはどうすればよいでしょうか? score = int(scores) を試しましたが、まったく機能しませんでした。

4

2 に答える 2

2

仮定scores[0]は次のようなものです['10']

Point(int(scores[0][0]), y-25)

ただし、これは正しい解決策ではありません。改善するには、次の行を変更します。

scores.append(objects[2:3])

これにシーケンスを返します:

scores.append(objects[2])

アイテム自体を返します。これにより、すぐに整数に変換するだけで済みます。

Point(int(scores[0]), y-25)

お役に立てれば!

于 2013-11-08T09:25:59.370 に答える
2
    scores.append(objects[2:3])

この行は 1 要素のシーケンスを提供しますが、これはおそらくあなたが望むものではありません。スライスではなくインデックス。

    scores.append(objects[2])
于 2013-11-08T09:26:39.990 に答える