<p>我想我找到了一个不错的解决方案,包括输入验证。你可以很容易地把它变成一个泛型函数。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>def programm_information():
return None
def programm_beenden():
return None
def programm_erklaerung():
return None
def text_trennzeichen():
return None
def csv_suchanfrage():
return None
menu_options_dict = {"Information": programm_information,
"Beenden": programm_beenden,
"Hilfe": programm_erklaerung,
"Trennzeichen": text_trennzeichen,
"Lesen": csv_suchanfrage,
"csv_suche": csv_suchanfrage}
invalid_input_msg = 'Invalid choice, please try again. Press ENTER to continue.'
while True:
print('Choose an option:')
for num, elem in enumerate(menu_options_dict, start=1):
print(f'{num}: {elem}')
choice_str = input('Option: bitte einen Menüpunkt eingeben: ').strip()
options_dict_res = menu_options_dict.get(choice_str)
if options_dict_res:
break
else:
try:
choice_num = int(choice_str)
except ValueError:
input(invalid_input_msg)
else:
if 0 < choice_num <= len(menu_options_dict):
options_dict_res = list(menu_options_dict.values())[choice_num - 1]
break
else:
input(invalid_input_msg)
print(options_dict_res)
func_res = options_dict_res()
</code></pre>