回答編集履歴
1
冒頭のmax関数の解説が誤っていたのでサンプルとともに訂正
answer
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
エラーの原因は、浮動小数点の数値とタプルを乗算しているからです。
|
2
2
|
以下、解説。
|
3
3
|
|
4
|
-
`max`関数にタプルを投入すると、
|
4
|
+
`max`関数にタプルを投入すると、辞書順のように先頭の要素から比較して最大となるタプルの組が返ってきます。
|
5
|
+
サンプル:
|
5
6
|
```python
|
6
|
-
max((
|
7
|
+
max((1,1),(1,2),(2,-1),(2,0))
|
7
8
|
|
8
|
-
>>> (
|
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)`とかが入っているのが確認できます)
|