我对mypy抛出一个错误,说我缺少一个返回语句表示不满。虽然函数中有一个,但它仍然继续存在。我做错什么了吗
(我正在使用python3.8)
def misc_menu_choice(misc_menu_input: str) -> str:
"""Provides mapping for the misc_menu"""
try:
if misc_menu_input == '1':
list_all()
if misc_menu_input == '2':
intermarriages()
elif misc_menu_input == '3':
toggle_program()
toggle_living_only()
elif misc_menu_input == '4':
selection = get_user_input(main_menu())
main_menu_selection(selection)
elif misc_menu_input == '':
print(f'Current ID: {current_person}\t\t\
Living Only: {program_status}')
miscellanious_menu_prompt()
else:
print('Please select again')
miscellanious_menu_prompt()
return misc_menu_input
except ValueError:
print("That is not an option")
miscellanious_menu_prompt()
您对函数签名进行了如下注释:
注释声明函数接受单个参数
misc_menu_input
作为字符串,并返回字符串。但是,这不是您的函数所做的如果
try
子句中没有ValueError
,则函数将遵循给定的注释,并返回一个字符串。但是,如果在try
子句中存在ValueError
,则跳过try
子句的其余部分,并执行except
子句。在except
子句中没有return
语句,这意味着如果有一个ValueError
导致正在执行的except
子句,那么函数将返回None
,与您给出的注释相矛盾相关问题 更多 >
编程相关推荐