Вы имеете в виду что-то подобное?
a = 1
b = 2
c = 3
assert b > a and c > b and a > c, 'Error: a is not greater than c'
Вывод:
Traceback (most recent call last):
File "main.py", line 6, in <module>
assert b > a and c > b and a > c, 'Error: a is not greater than c'
AssertionError: Error: a is not greater than c
примерно так: - проверять c только когда b> a true и проверьте> 1020 * только оба верны. И после того, как утверждение выполняет несколько операторов, таких как: - зарегистрируйте информацию и напечатайте информацию и т.д. c ..
Вы можете использовать несколько операторов assert
один за другим, как если бы вы написали несколько, если заявления друг под другом, за исключением того, что вы должны учитывать, что ваши assert
могут выдавать исключение, о котором вам нужно позаботиться. Таким образом, вы можете просто контролировать поток выполнения и печатать / регистрировать все, что вам нужно ... Например, что-то вроде этого:
def make_comperations(a, b, c = None): # note c is optional
assert c is not None, 'Error: c is None'
assert b > a, 'Error: a is not greater than b'
assert c > a, 'Error: c is not greater than a'
try:
make_comperations(1, 2, 3) # ok
make_comperations(1, 2) # error
make_comperations(1, 2, 0) # error, but won't be executed since the line above will throw an exception
print("All good!")
except AssertionError as err:
if str(err) == 'Error: c is None':
print("Log: c is not given!")
if str(err) == 'Error: a is not greater than b':
print("Log: b > a error!")
elif str(err) == 'Error: c is not greater than a':
print("Log: c > a error!")
Вывод:
Log: c is not given!