如何用 *args 编写 if 语句?



如果有人可以指导我如何编写以下语句,我想检查 x 值是否大于 10,然后只打印出来

def __num__(*args):
if x > 10 in args:
print('I am testing args using {}'.format(__num__[x]))
else :
print('Something Goes Wrong')   
__num__(x = 22)

如果你知道所有的参数都是数字,一个简单的方法是一点理解。

def __num__(*args):
if any([arg for arg in args if arg > 10]):
print('I am testing args using {}'.format(args['x']))
else :
print('Something Goes Wrong')

如果你要得到非数字,你必须检查每个参数,看看它是否是一个数字。这只是对以前的列表组合的一个小变化。

import numbers
def __num__(*args):
if any([arg for arg in args if isinstance(arg, numbers.Number) and arg > 10]):
print('I am testing args using {}'.format(args['x']))
else :
print('Something Goes Wrong')

正如其他人所说,为此进行专门的论证可能会更容易

最新更新