import re def quantity(value): if not isinstance(value, str) or not re.fullmatch(r"[0-9]{1,2}", value): raise ValueError("quantity format") number = int(value) if not 1 <= number <= 12: raise ValueError("quantity range") return number assert quantity("3") == 3 for bad in ["0", "13", "-1", "3.0", "", "12", None]: try: quantity(bad) except ValueError: continue raise AssertionError(bad) print("valid quantity accepted; seven invalid inputs rejected")