:
def func_one():
print("hello")
def func_two():
print("goodbye")
def rename_function(func_dict, orig_name, new_name):
func_dict[new_name] = func_dict[orig_name]
del func_dict[orig_name]
functions = {
"placeholder_one": func_one,
"placeholder_two": func_two
}
rename_function(
functions,
"placeholder_one",
input("Enter new greeting function name: ")
)
rename_function(
functions,
"placeholder_two",
input("Enter new farewell function name: ")
)
while True:
func_name = input("Enter function to call: ")
if func_name in functions:
functions[func_name]()
else:
print("That function doesn't exist!")
使用法:
>>> Enter new greeting function name: hello
>>> Enter new farewell function name: goodbye
>>> Enter function to call: hello
hello
>>> Enter function to call: goodbye
goodbye
>>> Enter function to call: hi
That function doesn't exist!
これを行うには多くの方法がありますが、それらのすべてが「CODE SMELL!」と叫びます。 –
神の名前なぜ – 0TTT0
それ以外の場合は、特定のユーザー入力の特定の関数を呼び出すことができます –