#!/usr/bin/env python3 # https://docs.python.org/3/tutorial/errors.html#handling-exceptions def input_temperature(temp_str: str) -> int: print(f" Input data is '{temp_str}'") temp = test_temperature(temp_str) return temp def test_temperature(temp): try: temp = int(temp) if temp > 40: raise ValueError(f"{temp}°C is too hot for plants (max 40°C)") elif temp < 0: raise ValueError(f"{temp}°C is too cold for plants (min 0°C)") except ValueError as ve: print(" Caught input_temperature error:", ve) else: print(f" Temperature is now {temp}°C") return temp if __name__ == "__main__": print("=== Garden Temperature ===") print() input_temperature("25") print() input_temperature("abc") print() input_temperature("100") print() input_temperature("-50") print() print(" All tests completed - program didn't crash!")