def parse_kv(text): """Parse a multiline string of 'key=value' lines into a dict. Blank lines are ignored. Values that consist solely of digits are converted to int. """ result = {} for line in text.splitlines(): line = line.strip() if not line: continue # Expect key=value format; split on first '=' if '=' not in line: # If line does not contain '=', skip it (or raise error). # According to spec we assume valid lines. continue key, value = line.split('=', 1) # Convert to int if the value is all digits if value.isdigit(): value = int(value) result[key] = value return result if __name__ == "__main__": # Test case from the task description test_input = "a=1\nb=hello\n\nc=42" expected = {'a': 1, 'b': 'hello', 'c': 42} result = parse_kv(test_input) assert result == expected, f"Expected {expected}, got {result}" print("Test passed")