Здесь вы многое делаете неправильно Вы можете проверить not frac
вместо frac is False
, вы должны использовать логический and
вместо побитового &
, и вы должны повышать эти ValueError
с, не возвращая их:
def some_function(freq=False, frac=False):
if not freq and not frac:
raise ValueError('Both freq and frac are not specified')
elif freq and frac:
raise ValueError('Both freq and frac are specified')
elif freq:
print ('Do something')
else:
print ('Do something else')
Как правило, вы ищете один из двух вариантов. Почему бы не потребовать, чтобы пользователь передал единственное логическое значение, а затем представляет freq
, если True
, и frac
, если False
?
def some_function(freq):
if freq:
print ('Do something')
else:
print ('Do something else')