質問編集履歴
2
ソースコードを一部分しか掲載していなかったため全文を載せ、質問の解説を加えました
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
インデントの使い方で困っています、ご回答いただけますと幸いです
|
4
4
|
|
5
|
-
具体的には{該当のソースコード}の
|
5
|
+
具体的には{該当のソースコード}の5行目#( ↓ここのreturnの位置のことですの行)のreturn Trueのインデントの位置です
|
6
|
-
|
6
|
+
3行上のifに揃えないと実行できないのですが、なぜでしょうか?
|
7
7
|
|
8
8
|
if文が終わっている、if文を抜け出しているはずなのでreturn Trueの位置はどこでもよいと思うのですが納得できません。
|
9
9
|
|
@@ -11,6 +11,7 @@
|
|
11
11
|
else return True
|
12
12
|
と書くならば、ifとelse return True のインデントは揃えないといけないのは理解しております
|
13
13
|
|
14
|
+
昔C言語を学校で学んでいた際、C言語はインデントは揃えていた記憶がありません(これは私の勘違いかもしれませんが)
|
14
15
|
ご回答いただけますと幸いです、よろしくお願いします
|
15
16
|
|
16
17
|
|
@@ -28,8 +29,27 @@
|
|
28
29
|
def validate(hand):
|
29
30
|
if hand < 0 or hand > 2:
|
30
31
|
return False
|
31
|
-
|
32
|
+
# ↓ここのreturnの位置のことです
|
32
33
|
return True
|
34
|
+
|
35
|
+
def print_hand(hand, name='ゲスト'):
|
36
|
+
hands = ['グー', 'チョキ', 'パー']
|
37
|
+
print(name + 'は' + hands[hand] + 'を出しました')
|
38
|
+
|
39
|
+
print('じゃんけんをはじめます')
|
40
|
+
player_name = input('名前を入力してください:')
|
41
|
+
print('何を出しますか?(0: グー, 1: チョキ, 2: パー)')
|
42
|
+
player_hand = int(input('数字で入力してください:'))
|
43
|
+
|
44
|
+
if validate(player_hand):
|
45
|
+
if player_name == '':
|
46
|
+
print_hand(player_hand)
|
47
|
+
else:
|
48
|
+
print_hand(player_hand, player_name)
|
49
|
+
else:
|
50
|
+
print('正しい数値を入力してください')
|
51
|
+
|
52
|
+
|
33
53
|
```
|
34
54
|
|
35
55
|
### 試したこと
|
1
デフォルトの質問文が残っていたためにその部分を削除しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,5 +37,4 @@
|
|
37
37
|
結果は上記にも記載の通り二行上のifに揃えたときのみ実行できました
|
38
38
|
|
39
39
|
### 補足情報(FW/ツールのバージョンなど)
|
40
|
-
コードはprogateと言うプログラミング学習サイトの[pythonコース]の[python3(レッスン3)]の[returnの性質]から引用しています
|
40
|
+
コードはprogateと言うプログラミング学習サイトの[pythonコース]の[python3(レッスン3)]の[returnの性質]から引用しています
|
41
|
-
ここにより詳細な情報を記載してください。
|