1

質問があります:

Python で ANT アルゴリズムをプログラミングしようとしていますが、C++ のコードがあり、この部分のプログラミング方法がわかりません。

typedef struct {
    int x;
    int y;
} cityType;

typedef struct {
    int curCity;
    int nextCity;
                       //MAX_CITIES
    unsigned char tabu[15];
    int pathIndex;
                       //MAX_CITIES
    unsigned char path[15];
    double tourLength;
} antType;

私はこれをプログラムしていますが、よくわかりません

class CityType:
    def __init__(self):
        self.x = arange(MAX_CITIES)
        self.y = arange(MAX_CITIES)

# Class AntType
class AntType:
    def __init__(self):
        self.curCity = arange(MAX_ANTS)
        self.nextCity = arange(MAX_ANTS)
        self.tabu = arange(MAX_ANTS)
        self.pathIndex = arange(MAX_ANTS)
        self.path = arange(MAX_ANTS)
        self.tourLength = arange(MAX_ANTS)

ありがとう

4

1 に答える 1

2

それは本当に悪いことではありません。しかし、単語ごとの翻訳を行おうとすると、Python が提供する機能と利便性を十分に活用できません。

たとえば、CityType にメンバーが 2 つしかない場合xyおそらく長さ 2 のタプルだけの方が Pythonic です。NamedTupleは、「名前による」タプル メンバーへのアクセスを提供します。

于 2012-07-21T23:48:27.007 に答える