Python - 如何计算存在多少个 If/Else 语句
Python - How to count how many If/Else statements exist
我想统计我的函数中有多少 If/Else 个语句。
我的代码如下所示:
def countdown(type):
if type == 1:
//code
elif type == 2:
//code
else:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {x}")
exit(1)
在x
的地方,应该有if查询的次数(If/Else)。在这种情况下,有 3 个查询。如果我在这个函数中创建另一个 if/else 查询,我应该可以使用,我不必更改脚本底部的警告。
这可能吗?
我正在使用 Python 3.10
不要使用 if..else
,而是使用字典或列表:
types = {
1: ...,
2: ...
}
try:
types[type]
except KeyError:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {len(types)}")
exit(1)
作为值放入字典中的确切内容取决于...您能否概括该算法以便您只需要将值放入字典而不是实际代码中?伟大的。否则,将函数放入字典:
types = {1: lambda: ..., 2: some_func, 3: self.some_method}
...
types[type]()
由于您使用的是 Python 3.10,因此您可以使用新的 match
运算符。一个例子:
def countdown(type):
match type:
case 1:
# code
case 2:
# code
case _:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {x}")
exit(1)
对我来说,这是一个比 dict
更易读的解决方案。
如何计算选项的数量,让我们考虑一下我们有 n
个不同且逻辑上分开的选项。在这种情况下,我建议您 enum
:
from enum import IntEnum
class CountdownOption(IntEnum):
FIRST = 1
SECOND = 2
# ...
# ...
def countdown(type):
match type:
case CountdownOption.FIRST:
# code
case CountdownOption.SECOND:
# code
case _:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {len(CountdownOption)}")
exit(1)
我想统计我的函数中有多少 If/Else 个语句。
我的代码如下所示:
def countdown(type):
if type == 1:
//code
elif type == 2:
//code
else:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {x}")
exit(1)
在x
的地方,应该有if查询的次数(If/Else)。在这种情况下,有 3 个查询。如果我在这个函数中创建另一个 if/else 查询,我应该可以使用,我不必更改脚本底部的警告。
这可能吗?
我正在使用 Python 3.10
不要使用 if..else
,而是使用字典或列表:
types = {
1: ...,
2: ...
}
try:
types[type]
except KeyError:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {len(types)}")
exit(1)
作为值放入字典中的确切内容取决于...您能否概括该算法以便您只需要将值放入字典而不是实际代码中?伟大的。否则,将函数放入字典:
types = {1: lambda: ..., 2: some_func, 3: self.some_method}
...
types[type]()
由于您使用的是 Python 3.10,因此您可以使用新的 match
运算符。一个例子:
def countdown(type):
match type:
case 1:
# code
case 2:
# code
case _:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {x}")
exit(1)
对我来说,这是一个比 dict
更易读的解决方案。
如何计算选项的数量,让我们考虑一下我们有 n
个不同且逻辑上分开的选项。在这种情况下,我建议您 enum
:
from enum import IntEnum
class CountdownOption(IntEnum):
FIRST = 1
SECOND = 2
# ...
# ...
def countdown(type):
match type:
case CountdownOption.FIRST:
# code
case CountdownOption.SECOND:
# code
case _:
print(f"You have reached the end of the script. "
f"The maximum type of countdowns are: {len(CountdownOption)}")
exit(1)