たとえば、tkinterでは、誰かが英語アルファベットの26文字のそれぞれに対応する関数を作成しました。そして、ユーザが提供する文字列を取り込み、すべての大文字を小文字にして、文字列の各文字に対応する関数を実行したいと考えています。Pythonでは、文字列の各文字に対応する関数を実行する方法は?
# The functions should draw, on a tkinter canvas, the letter each function corresponds to (a pseudocode example shown below):
a -> draw_a
b -> draw_b
c -> draw_c
d -> draw_d
# So on, so forth...
str = input('Enter a string please: ').lower()
for i in str:
if i is # a letter:
# execute function corresponding to current letter in string
else:
pass # If current character is not a letter
それはPythonでこれを行うことは可能です:ここで私が何を言っているかの擬似コード例はありますか?もしそうなら、私はどのようにこの能力を実装しますか?
これは実際に辞書を作成する必要がない私と完全に働いた。私が本当にしなければならなかった唯一の変更は 'locals()'を 'globals()'に変更することでしたが、それ以外はこの解決策は完璧です。どうもありがとうございました! :)私はあなたが私にできるようにすぐにあなたの答えを受け入れるでしょう。 –
No prob :)ところで、関数を持たない文字を呼び出す場合は注意が必要です。要素が見つからないというエラーが出るので、まずglobal()の 'if" draw_ "+ iをチェックしてください。keys():' – JeD