Как написать заявление if с * args? - PullRequest
0 голосов
/ 17 октября 2019

если кто-нибудь может подсказать мне, как написать приведенное ниже утверждение, я хочу проверить, если значение 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)

1 Ответ

0 голосов
/ 17 октября 2019

Если вы знаете, что все аргументы являются числами, простой способ - это немного понять.

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')

Как уже говорили другие, вероятно, было бы проще иметь выделенный аргумент только для этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...