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

回答編集履歴

1

コメントを見て追記

2025/06/29 05:19

投稿

TakaiY
TakaiY

スコア14669

answer CHANGED
@@ -23,3 +23,34 @@
23
23
  ```
24
24
  これで、messagesに入っている文字列の間に改行を挟んだ文字列ができあがります。末尾に改行は入りません。
25
25
  ただし、前のコードで書いたような、先頭に「*」を追加するようなことはできません。事前に加工するなどの工夫が必要になります。
26
+
27
+ ---
28
+ コメントを見て追記
29
+
30
+ > これらをまとめてリストに集約し、tkinterのmessageに反映(箇条書き)するためにはどのようにすればよいのでしょうか。
31
+
32
+ 「これらをまとめてリストに集約」のところもわかないということですかね?
33
+
34
+ まず、「これら」ですが、この書き方は筋が悪いです。特に、コメント1,2,3にただの順番以上の意味が無い場合は悪手と言えます。
35
+ 以前にも書きましたが、番号付き変数に値を入れたくなったら、それはリストなどの出番です。まして、今回のように最終的にリストにしたいのであればなおさらです。
36
+ ```python
37
+ messages = []
38
+
39
+ messages.append('test1')
40
+ messages.append('test2')
41
+ text = 'あいうえお'
42
+ if 'か' in text:
43
+ messeges.append('test3')
44
+ messages.append('test4')
45
+ ```
46
+
47
+ もし、message1などの変数がすでに存在して、変更することが困難であるなら、同じ方法で地道に格納するくらいしか思いつきませんね。
48
+ 使われている変数名の取得にlocals()など使えるでしょうが、そんなコードは書きたくありませんね。
49
+ ```python
50
+ messages = []
51
+ messages.append(comment1)
52
+ messages.apped(comment2)
53
+ if comment3 in locals():
54
+ messages.append(comment3)
55
+ messages.append(comment4)
56
+ ```