Для вашего решения вы всегда можете использовать regex
. В случае не-регулярного выражения, попробуйте
def check(inp):
if inp.isalpha():
return False
if not any(char.isdigit() for char in inp) and inp[-1] in string.punctuation:
return False
return True
. Это выводит корректные значения во все тестовые случаи, приведенные в заявлении о проблеме. Надеюсь, это поможет!