teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

冒頭のmax関数の解説が誤っていたのでサンプルとともに訂正

2020/06/09 14:07

投稿

hope_mucci
hope_mucci

スコア4447

answer CHANGED
@@ -1,12 +1,14 @@
1
1
  エラーの原因は、浮動小数点の数値とタプルを乗算しているからです。
2
2
  以下、解説。
3
3
 
4
- `max`関数にタプルを投入すると、タプルそれぞれの要素最大となるタプルの組が返ってきます。
4
+ `max`関数にタプルを投入すると、辞書順ように先頭の要素から比較して最大となるタプルの組が返ってきます。
5
+ サンプル:
5
6
  ```python
6
- max((j,i) for i in range(5) for j in range(6))
7
+ max((1,1),(1,2),(2,-1),(2,0))
7
8
 
8
- >>> (5, 4)
9
+ >>> (2, 0)
9
10
  ```
11
+ ※初稿では説明が誤っていたのでサンプルとともに訂正しました。
10
12
 
11
13
  質問文のコードで、`,outcomes[j][1]`を入れた場合、max関数に`( 元の値, outcomes[j][1] )`タプルがjのイテレーション分投入され、結果`_V[tuple(state)]`にはタプルが入ります。
12
14
  (return 前に`print(_V[tuple(state)])`を入れて中を見てみると、`(2.0, 8)`とかが入っているのが確認できます)