if-else-block-instead-of-dict-lookup (SIM116)
Derived from the flake8-simplify linter.
What it does
Checks for three or more consecutive if-statements with direct returns
Why is this bad?
These can be simplified by using a dictionary
Example
def find_phrase(x):
if x == 1:
return "Hello"
elif x == 2:
return "Goodbye"
elif x == 3:
return "Good morning"
else:
return "Goodnight"
Use instead: