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

回答編集履歴

4

プログラム修正

2018/04/12 11:33

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -22,6 +22,7 @@
22
22
  income_input = 0
23
23
  .... # 省略
24
24
  while True:
25
+ .... # 省略
25
26
  if main_input == 0:
26
27
  income_input = first()
27
28
  .... # 省略

3

プログラム修正

2018/04/12 11:32

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -20,11 +20,13 @@
20
20
  呼び出し側
21
21
  ```python
22
22
  income_input = 0
23
- if main_input == 0:
24
- income_input = first()
25
23
  .... # 省略
24
+ while True:
25
+ if main_input == 0:
26
+ income_input = first()
27
+ .... # 省略
26
- elif main_input == 3:
28
+ elif main_input == 3:
27
- fourth(income_input)
29
+ fourth(income_input)
28
30
  ```
29
31
 
30
32
  sum(posts)は・・・残念ながら間違っています。post["money"]に該当する値だけ足し算してあげないと、意図した通り動かないでしょう(というかエラー吐いて落ちる)。

2

プログラム修正

2018/04/12 11:31

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  関数の定義
6
6
  ```python
7
+ def first():
8
+ print("今月の収入を入力してください。")
9
+ income_input = str(input())
10
+ print("今月の収入は"+ income_input +"円です。")
11
+ return income_input
12
+
13
+
7
14
  def fourth(income_input):
8
15
  remain = income_input - sum(posts)
9
16
  if remain <= 0:

1

プログラム修正

2018/04/12 11:29

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  関数の中で定義した変数、関数はその関数の「内側」でしか使えません。関数の外と情報をやり取りしたいのであれば、「引数」として情報を渡し、「返り値」として情報を受け取るようにします。
2
2
  これが基本的なルールです。
3
- 今回のプログラムであれば、fourthの引数にincome_inputを渡してあげるようにすれば良いのでは?
3
+ 今回のプログラムであれば、fourthの引数にincome_inputを渡してあげるようにすれば良いのでは? その前にfirstから返してやる必要がありますが・・・。
4
4
 
5
5
  関数の定義
6
6
  ```python
@@ -12,6 +12,10 @@
12
12
 
13
13
  呼び出し側
14
14
  ```python
15
+ income_input = 0
16
+ if main_input == 0:
17
+ income_input = first()
18
+ .... # 省略
15
19
  elif main_input == 3:
16
20
  fourth(income_input)
17
21
  ```