def rerun(func):
def wrapper(*args, **kwargs):
for i in range(4):
try:
res = func(*args, **kwargs)
except AssertionError as e:
if i == 3:
raise e
print("执行出错啦,重新执行")
else:
print('执行通过')
return res
return wrapper
@rerun
def work2():
expected = 'abc'
res = input('请输入实际结果:')
assert expected == res
work2()