質問編集履歴

1

コードブロックできてなかったので修正

2019/11/15 01:57

投稿

salvage12345
salvage12345

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,12 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Pythonでアイテムを管理する機能を作っています
3
+ ゲーム内のアイテムなどを管理するプログラムを作っています
4
4
 
5
+ !add アイテム名 数値
6
+
7
+ とインプットすると```stock.txt```内にアイテム名と数値が入力されるような形にしています
8
+
5
- !add 石 10のようにするとstock.txtに
9
+ 例えば!add 石 10とインプットすると
6
10
 
7
11
  ```
8
12
 
@@ -16,23 +20,19 @@
16
20
 
17
21
  ```
18
22
 
19
- と入力されるようにしたので
23
+ ```stock.txt```内に入力されるようになっていま
20
24
 
21
- すでに石がstock.txt内にあるとき!add 石 数値 と入力された際にすでにアイテムがありますと出力するようにしたはずなのですが
25
+ そこですでに```stock.txt```内にアイテムがある場合```すでにアイテムがあります```と出力するようにしたのですが、```!add 石 10```とした後にもう一度```!add 石 10```とするとまたテキストファイル内に入力されてしまいます
22
26
 
23
- !add 石 10とやってstock.txt内に入力し、その後にもう一度!add 石 10とるとまたテキストファイル内に入力されてしいま
27
+ ですが一度プログラムを再起動してからまた```!add 石 10```ると、```すでにアイテムがありす```と出力されます
24
28
 
25
- がなぜか一度プログラムを再起動したあともう一度!add 石 数値、とるとすでにアイテムがありますと出力されます
29
+ どのようにれば実行中に!addコマンドを連続で実行して```すでにアイテムがあります```と出力するようにできますでしょうか。
26
-
27
- なぜでしょうか
28
-
29
- Discord.pyとゆうものを使っています
30
-
31
-
32
30
 
33
31
 
34
32
 
35
33
  ### 該当のソースコード
34
+
35
+
36
36
 
37
37
  ```Python
38
38
 
@@ -62,8 +62,6 @@
62
62
 
63
63
  if sr[0] not in stock:
64
64
 
65
- f.close()
66
-
67
65
  with open('stock.txt', mode='a') as sw:
68
66
 
69
67
  sw.write(last)
@@ -72,8 +70,6 @@
72
70
 
73
71
  elif sr[0] in stock:
74
72
 
75
- c.close()
76
-
77
73
  await message.channel.send('すでにアイテムがあります')
78
74
 
79
75
 
@@ -81,3 +77,5 @@
81
77
  else:
82
78
 
83
79
  await message.channel.send('コマンドの形式が違います')
80
+
81
+ ```