0

よくある質問で私を判断する前に、私の問題は「最良の最短経路アルゴリズム」ほど簡単ではありません(少なくとも私は思います)。

Google スプレッドシートがあります。

すべての行は町名で始まり、通過する道路の番号とそれらの道路の名前が続きます。以下のようなもの:

Ex. Spreadsheet / First sheet:
         A    |               B               |     C     |     D     |     E     |
 1  Town name | Number of roads you find here | road name | road name | road name |    
 2  Manchester| 3                             |        M1 |        M2 |        M3 |
 3  Leeds     | 1                             |        M3 |           |           |
 4  Blackpool | 2                             |        M1 |        M2 |           |

この 1 つのスプレッドシートには、すべての道路名に対応する多数のワークシートがあります (私の場合、M1、M2、M3。最初のワークシートには上からのコンテンツがあるため、M1 は 2 番目のワークシートです。M2 は 3 番目などです)。

 Ex. Spreadsheet / Second sheet:
       A      |    B      |        C       |      D       |      E     |      F     |
1   This road | Town name | Distance in km | type of road | other road | other road |  
2      M1     | Manchester|       0        |      M2      |     M3     |            | 
3      M1     | Blackpool |      25        |      M2      |            |            |

3枚目も同様、次も同様の構造。1 つの町につながる道路の数に応じて、1 つの町を複数のシートに含めることができます。上記の例からそれを見ることができます。

スプレッドシートは私が作成したものではありません。こんな感じです。それは良くなりません。プログラムでGoogleスプレッドシートからデータを引き出すのに問題はありません。Python でスプレッドシート データを読み取ることは、ここでは問題ではありません。

  1. ユーザーが開始町と終了町を入力する wxpython/python でプログラムを作成する最良の方法は何ですか。
  2. プログラムは、スプレッドシートと適切なワークシートを読み取ります。
  3. このワークシートのジャングルの中で、どうにかして最善の道を見つけます。
  4. さらに、そこに到達するために 2 ~ 3 枚以上のワークシートを通過する必要がある場合でも、開始タウンから終了タウンまでの合計距離が返されます。
  5. 素敵な形で結果をユーザー画面に返します:)

質問に値するほど、私の問題が挑戦的であると感じていただければ幸いです。

助けてください。この非常に具体的な問題に対処する方法を教えてください。

4

1 に答える 1

1

前回の試みの結果:

Googleスプレッドシートからデータを取得するwxPythonアプリケーションが遅すぎるため、ユーザー入力がソリューションを高速化する必要があります

何がそんなに時間がかかっていたのかわかりましたか? そこでは他にどのような問題に遭遇しましたか?

私はstackoverflowに比較的慣れていませんが、 「このコードを書いてもらえますか?」と解釈できるこれらのスタイルの質問を見てきました。、かなり迅速に拒否されたため。

上記のリンクからいくつかの課題を共有し、プロジェクト内の特定の問題を説明することを検討してください。

更新しました

1+5: WX の観点から、検索が行われている間、UI の応答性を維持する必要があります。これを行う 1 つの方法は、検索が終了したら wx.PostEvent を呼び出す別のスレッドで検索を開始することです。次に、メインの wx アプリには、イベントを受け取って処理するイベント ハンドラーがあります。あなたの場合、「素敵なフォームで結果を表示します」。

例については、 http ://wiki.wxpython.org/LongRunningTasks を参照してください。

于 2012-12-11T09:17:01.473 に答える