質問編集履歴

1

もっとわかりやすいように変更しました!お願いします。

2019/08/21 12:35

投稿

NatsukiKataoka
NatsukiKataoka

スコア7

test CHANGED
File without changes
test CHANGED
@@ -12,25 +12,23 @@
12
12
 
13
13
  ---------------------------------------------------------------------------
14
14
 
15
- TypeError Traceback (most recent call last)
15
+ NameError Traceback (most recent call last)
16
16
 
17
- <ipython-input-27-851dd96efc5a> in <module>
17
+ <ipython-input-4-5d5168a40431> in <module>
18
18
 
19
- 89
19
+ 38 return returnOrNot
20
20
 
21
- 90 #お金を投入したレシート用の表示
21
+ 39
22
22
 
23
- ---> 91 message1 = (drinks[liquid].name + 'を買うためにお金を' + moneyPut + "入れました。")
23
+ ---> 40 moneyPut = decide('a')
24
24
 
25
- 92
25
+ 41 # __________________________________________________________________
26
26
 
27
- 93 # __________________________________________________________________
27
+ 42 #自動販売機の飲み物の種類をタプル型で表示
28
28
 
29
29
 
30
30
 
31
- TypeError: tuple indices must be integers or slices, not NoneType
31
+ NameError: name 'decide' is not defined
32
-
33
-
34
32
 
35
33
  ```
36
34
 
@@ -41,10 +39,6 @@
41
39
 
42
40
 
43
41
  ```python
44
-
45
-
46
-
47
- #レシートのためのdatetimeモヅェール
48
42
 
49
43
  from datetime import date
50
44
 
@@ -98,23 +92,29 @@
98
92
 
99
93
  return 'sold out'
100
94
 
101
-
102
-
103
95
  def decide(self, i):
104
96
 
105
97
  if i == 'a':
106
98
 
107
99
  moneyPut = int(input('put money'))
108
100
 
101
+ return moneyPut
102
+
109
103
  elif i == 'b':
110
104
 
111
105
  liquid = int(input('what to drink? 0:cola, 1:water, 2:tea'))
106
+
107
+ return liquid
112
108
 
113
109
  else:
114
110
 
115
111
  returnOrNot=int(input('返金しますか? 0:Yes, 1:No :'))
116
112
 
117
-
113
+ return returnOrNot
114
+
115
+
116
+
117
+ moneyPut = decide('a')
118
118
 
119
119
  # __________________________________________________________________
120
120
 
@@ -142,114 +142,6 @@
142
142
 
143
143
  liquid = decide('b')
144
144
 
145
-
146
-
147
- #お金を投入したレシート用の表示
148
-
149
- message1 = (drinks[liquid].name + 'を買うためにお金を' + moneyPut + "入れました。")
150
-
151
-
152
-
153
- # __________________________________________________________________
154
-
155
-
156
-
157
- #飲み物を選び残高またはお金が足りないとでる(100円以下はないので100円の時点でループに入らない)
158
-
159
- while int(moneyPut) > 100:
160
-
161
- if int(moneyPut) < 140 and (liquid == 0 or liquid == 2):
162
-
163
- message2 = ('しかし'+ drinks[liquid].name +'を買うためのお金が足りないため買えませんでした。/n レシートは以上です。')
164
-
165
- message3 = 'なにもなし'
166
-
167
- break
168
-
169
-
170
-
171
- elif int(moneyPut) < 150 and (liquid == 2):
172
-
173
- print('not enough money')
174
-
175
- message2 = ('しかし'+ drinks[liquid].name +'を買うためのお金が足りないため買えませんでした。/n レシートは以上です。')
176
-
177
- message3 = 'なにもなし'
178
-
179
- break
180
-
181
-
182
-
183
- else:
184
-
185
- message2 = ("あなたの残高は{}円です。".format(int(moneyPut)))
186
-
187
- if drinks[liquid].count == 0:
188
-
189
- print(drinks[liquid].SoldOutLamp())
190
-
191
-
192
-
193
- else:
194
-
195
- #最終的な金額
196
-
197
- moneyToReturn = int(moneyPut) - int(drinks[liquid].price)
198
-
199
-
200
-
201
- #レシート用のメッセージ
202
-
203
- message3 = '買った後の残金は' + str(moneyPut) + "です"
204
-
205
-
206
-
207
- #返金させるか聞く
208
-
209
- # returnOrNot=int(input('返金しますか? 0:Yes, 1:No :'))
210
-
211
- returnOrNot = decide('c')
212
-
213
- if returnOrNot == 0:
214
-
215
- push = True
216
-
217
- message4 = (drinks[liquid].returnMoney(moneyToReturn))
218
-
219
- else:
220
-
221
- message4 = 'buying'
222
-
223
-
224
-
225
- break
226
-
227
-
228
-
229
- #レシート作成________________________________________________________
230
-
231
- print("今日の日付________________\n" + str(today) + "\n")
232
-
233
- print("自動販売機レシート__________\n" + message1 + "\n")
234
-
235
- print("あなたの残高_________\n" + message2 + "\n")
236
-
237
- print("購入後の残高_______________\n" + message3 + "\n")
238
-
239
- print("返却金額__________________\n" + message4)
240
-
241
- # __________________________________________________________________
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
-
253
145
  ```
254
146
 
255
147
 
@@ -264,13 +156,11 @@
264
156
 
265
157
  2. 売切れランプの追加(売切れの時は購入できない)
266
158
 
267
- 3. 返金処理
268
-
269
159
  もし可能ならなぜエラーが出てきてしまうのか教えてもらうことって可能でしょうか?
270
160
 
271
161
  本当にお願いします!
272
162
 
273
-
163
+ またクラスの中の関数を使って出されたliquidという数字を使ってdrinks[liquid].name のような事ってできますか?
274
164
 
275
165
  ```
276
166