-3

私はまったくの初心者です。まだ Python のドキュメントを読んでいますが、構文に疑問を持っています。

関数は my.py にあります

def f1:
  pass

def f2:
  pass

def f3:
  pass

したがって、次のような関数を呼び出す番号を選択したいと思います。

a = input('Insert the function number') 

"f$d"() %a #そのようなことを試してみましたが、まったく変ですが、私は初心者です (ちょっとばかげています)。

ばかげた質問で申し訳ありませんが、どうすればよいかわかりません。

4

2 に答える 2

1

これは非常に簡単に実現できます。関数のリストを作成します。

list_func = [f1, f2, f3]

そして実行:

a = int(input('insert the function number: ') #get the input and convert it to integer
list_func[a]() #execute the function inputted

または list_func なし:

inp = int(input('insert the function number: ') #get the input and convert it to integer
eval('f%d'%inp) 

eval()あまり頻繁に使用しないでください。少し不安です。

または、 から呼び出すこともできますglobals()。グローバル変数と関数の辞書を返すことができます。

globals()['f%d'%inp]()

いや、それくらいです。お役に立てれば!

于 2013-10-07T14:10:29.467 に答える