回答編集履歴

5

回答訂正

2022/09/27 05:51

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,11 +1,8 @@
1
- 要素数が 280 なら、cities[280] は index out of range ですよ。
2
- index range は 0 ~ 279 です。
1
+ ソースよさそうなので訂正します。
3
- citynums は 1 開始のようですから、cities の index を -1 すればいいかと思います。
4
2
 
5
- ```
3
+ `self.citynums = random.sample(list(range(len(cities_data))), len(cities_data))`
6
- (cities[self.citynums[i - 1] - 1].X,
4
+ では citiynum 0 279 になりますが、
7
- cities[self.citynums[i - 1] - 1].Y))
5
+ `a280.citynums = [...]` では 1 280 を代入しているのがおかしいのでは?
8
- ```
9
6
 
10
7
  それと、`data = [[0]]*len(cities)` は良くないので `data = [0]*len(cities)` にしておきましょう。
11
8
  参考: https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list

4

修正コード追記

2022/09/27 04:03

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,5 +1,11 @@
1
1
  要素数が 280 なら、cities[280] は index out of range ですよ。
2
2
  index の range は 0 ~ 279 です。
3
+ citynums は 1 開始のようですから、cities の index を -1 すればいいかと思います。
4
+
5
+ ```
6
+ (cities[self.citynums[i - 1] - 1].X,
7
+ cities[self.citynums[i - 1] - 1].Y))
8
+ ```
3
9
 
4
10
  それと、`data = [[0]]*len(cities)` は良くないので `data = [0]*len(cities)` にしておきましょう。
5
11
  参考: https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list

3

説明追記

2022/09/27 03:56

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,5 +1,7 @@
1
1
  要素数が 280 なら、cities[280] は index out of range ですよ。
2
2
  index の range は 0 ~ 279 です。
3
3
 
4
- それと、`data = [[0]]*len(cities)` はダメ
4
+ それと、`data = [[0]]*len(cities)` は良くないの `data = [0]*len(cities)` にしておきましょう
5
5
  参考: https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list
6
+
7
+ except での `data[i]*=0` も `data[i] = 0` や`data[i] = None` などにした方がいいでしょう。

2

説明変更

2022/09/27 03:51

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,5 +1,5 @@
1
1
  要素数が 280 なら、cities[280] は index out of range ですよ。
2
2
  index の range は 0 ~ 279 です。
3
3
 
4
- それと、`[[0]]*len(cities)` これもだめです。
4
+ それと、`data = [[0]]*len(cities)` はダメです。
5
5
  参考: https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list

1

注意点追記

2022/09/27 03:50

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -1,2 +1,5 @@
1
1
  要素数が 280 なら、cities[280] は index out of range ですよ。
2
2
  index の range は 0 ~ 279 です。
3
+
4
+ それと、`[[0]]*len(cities)` これもだめです。
5
+ 参考: https://docs.python.org/ja/3/faq/programming.html#how-do-i-create-a-multidimensional-list