回答編集履歴

3

説明を修正

2021/01/14 08:44

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- となっていますから、条件1も条件2も成立しなかった場合にQには値が割り当てられないことになります。にもかかわらず、`return Q`で(スコープ外の)Qの値を参照しようとしているので、件のエラーが表示されます。
31
+ となっていますから、条件1も条件2も成立しなかった場合にQには値が割り当てられないことになります。にもかかわらず、`return Q`で~~(スコープ外の)~~Qの値を参照しようとしているので、件のエラーが表示されます。
32
32
 
33
33
 
34
34
 

2

説明を修正

2021/01/14 08:44

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -28,8 +28,8 @@
28
28
 
29
29
 
30
30
 
31
- となっていますから、条件1も条件2も成立しなかった場合にQには値が割り当てられないことになります(というかスコープ外ですね)。にもかかわらず、`return Q`でQの値を参照しようとしているので、件のエラーが表示されます。
31
+ となっていますから、条件1も条件2も成立しなかった場合にQには値が割り当てられないことになります。にもかかわらず、`return Q`で(スコープ外の)Qの値を参照しようとしているので、件のエラーが表示されます。
32
32
 
33
33
 
34
34
 
35
- Qの初期値をif文の前に設定しておけばいいでしょう
35
+ Qの初期値をif文の前に設定するか、それぞれのif文の中で`return Q`として、末尾は`return None`とでも書くかてください

1

説明を修正

2021/01/14 07:48

投稿

Daregada
Daregada

スコア11990

test CHANGED
@@ -28,4 +28,8 @@
28
28
 
29
29
 
30
30
 
31
- となっていますから、**条件1も条件2も成立しなかった場合にQには値が割り当てられない**ことになります。にもかかわらず、`return Q`でQの値を参照しようとしているので、件のエラーが表示されます。
31
+ となっていますから、条件1も条件2も成立しなかった場合にQには値が割り当てられないことになります(というかスコープ外ですね)。にもかかわらず、`return Q`でQの値を参照しようとしているので、件のエラーが表示されます。
32
+
33
+
34
+
35
+ Qの初期値を、if文の前に設定しておけばいいでしょう。