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

質問編集履歴

2

ソースコードを一部分しか掲載していなかったため全文を載せ、質問の解説を加えました

2019/01/17 11:14

投稿

arisann50
arisann50

スコア16

title CHANGED
File without changes
body CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  インデントの使い方で困っています、ご回答いただけますと幸いです
4
4
 
5
- 具体的には{該当のソースコード}の最後の行のreturn Trueのインデントの位置です
5
+ 具体的には{該当のソースコード}の5行目#( ↓ここreturnの位置のことですののreturn Trueのインデントの位置です
6
- 行上のifに揃えないと実行できないのですが、なぜでしょうか?
6
+ 行上の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

デフォルトの質問文が残っていたためにその部分を削除しました

2019/01/17 11:14

投稿

arisann50
arisann50

スコア16

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
- ここにより詳細な情報を記載してください。