"tkinter"という単語を入力すると、文字の頻度が表示されます。しかし、 "t k i n t e r"と入力すると、まったく別のデータが得られます。入力から空白を削除するには、どうすればkey, value/float(len(user_input))*100, '%'
をTkinterラベルに追加するのですか?tkinterラベルに情報を追加して空白を取り除く
空白を置き換える方法がわかりました。参考になったコメント者の提案により、データを対応するキーで表示するラベルにテキストを追加できます。しかし、ボタンをクリックするたびに前のラベルを削除する方法については、別の質問がありますか?
コード:
from Tkinter import *
from collections import Counter
import string
def let_freq():
user_input = (e.get().lower()).translate(None, string.whitespace)
res = ""
value_alphabet = Counter(user_input)
v = StringVar()
label = Label(root, text="Result:", textvariable=v).grid(ipadx=5,ipady=5)
for key, value in value_alphabet.items():
print key, value/float(len(user_input))*100, '%'
res += '\n'+key+'-'+`value/float(len(user_input))*100`+'%'
v.set(res)
root = Tk()
e = Entry(root); assert isinstance(e, object); e.grid(ipadx=5, ipady=5)
button = Button(root, command=let_freq, width=16).grid(ipadx=5, ipady=5)
root.mainloop()
をTkinterのために結果を追加するために役立つかもしれませんか? –
はい、何も試したことがないとうまくいきませんでしたが、私は質問を投稿しませんでしたか? – komoka
@komoka「それは私にまったく違うデータを与えるだろう」とは言えません。 –