From 9407d88ad49efd1b233b99342b3f4d0bcc44e095 Mon Sep 17 00:00:00 2001 From: Ommodi07 Date: Wed, 15 Oct 2025 14:33:53 +0530 Subject: [PATCH 1/3] Solved the issue named Python from the github repo which includes the python code as i have contributed. --- Age_difference/main.py | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Age_difference/main.py diff --git a/Age_difference/main.py b/Age_difference/main.py new file mode 100644 index 000000000000..c14a834d6f45 --- /dev/null +++ b/Age_difference/main.py @@ -0,0 +1,50 @@ +try: + # Get boy's name + boyName = input("Boy Name : ") + if not boyName or not boyName.strip(): + raise ValueError("Boy name cannot be empty") + if not boyName.replace(" ", "").isalpha(): + raise TypeError("Boy name must contain only alphabetic characters") + + # Get boy's age + boyAgeInput = input("Boy age : ") + if not boyAgeInput.strip(): + raise ValueError("Boy age cannot be empty") + try: + boyAge = int(boyAgeInput) + if boyAge <= 0: + raise ValueError("Boy age must be a positive number") + except ValueError as e: + if "invalid literal" in str(e): + raise TypeError("Boy age must be a valid integer") + raise + + # Get girl's name + girlName = input("Girl Name : ") + if not girlName or not girlName.strip(): + raise ValueError("Girl name cannot be empty") + if not girlName.replace(" ", "").isalpha(): + raise TypeError("Girl name must contain only alphabetic characters") + + # Get girl's age + girlAgeInput = input("Girl age : ") + if not girlAgeInput.strip(): + raise ValueError("Girl age cannot be empty") + try: + girlAge = int(girlAgeInput) + if girlAge <= 0: + raise ValueError("Girl age must be a positive number") + except ValueError as e: + if "invalid literal" in str(e): + raise TypeError("Girl age must be a valid integer") + raise + + # Calculate and display result + print(boyName, "loves", girlName, ". Age difference is", abs(boyAge - girlAge)) + +except TypeError as e: + print(f"Type Mismatch Error: {e}") +except ValueError as e: + print(f"Value Error: {e}") +except Exception as e: + print(f"An unexpected error occurred: {e}") \ No newline at end of file From c991542da74db1ec4136dad38ecd871ef98e991b Mon Sep 17 00:00:00 2001 From: Ommodi07 Date: Wed, 15 Oct 2025 14:45:26 +0530 Subject: [PATCH 2/3] added age_difference algorithm as issue #13489 --- Age_difference/main.py | 92 ++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 49 deletions(-) diff --git a/Age_difference/main.py b/Age_difference/main.py index c14a834d6f45..3c624fedb98e 100644 --- a/Age_difference/main.py +++ b/Age_difference/main.py @@ -1,50 +1,44 @@ -try: - # Get boy's name - boyName = input("Boy Name : ") - if not boyName or not boyName.strip(): - raise ValueError("Boy name cannot be empty") - if not boyName.replace(" ", "").isalpha(): - raise TypeError("Boy name must contain only alphabetic characters") - - # Get boy's age - boyAgeInput = input("Boy age : ") - if not boyAgeInput.strip(): - raise ValueError("Boy age cannot be empty") - try: - boyAge = int(boyAgeInput) - if boyAge <= 0: - raise ValueError("Boy age must be a positive number") - except ValueError as e: - if "invalid literal" in str(e): - raise TypeError("Boy age must be a valid integer") - raise - - # Get girl's name - girlName = input("Girl Name : ") - if not girlName or not girlName.strip(): - raise ValueError("Girl name cannot be empty") - if not girlName.replace(" ", "").isalpha(): - raise TypeError("Girl name must contain only alphabetic characters") - - # Get girl's age - girlAgeInput = input("Girl age : ") - if not girlAgeInput.strip(): - raise ValueError("Girl age cannot be empty") +""" +Algorithm to calculate age difference and display a message with safe input handling. + +Wikipedia: https://en.wikipedia.org/wiki/Chronological_age +""" + +def age_difference(boy_age: int, girl_age: int) -> int: + """ + Returns the absolute age difference between two people. + + >>> age_difference(22, 20) + 2 + >>> age_difference(20, 22) + 2 + >>> age_difference(30, 30) + 0 + """ + return abs(boy_age - girl_age) + + +def get_valid_age(prompt: str) -> int: + """Prompt the user until a valid non-negative integer age is entered.""" + while True: + try: + age = int(input(prompt)) + if age < 0: + raise ValueError("Age cannot be negative.") + return age + except ValueError as e: + print(f"Invalid input: {e}. Please enter a valid positive integer age.\n") + + +if __name__ == "__main__": try: - girlAge = int(girlAgeInput) - if girlAge <= 0: - raise ValueError("Girl age must be a positive number") - except ValueError as e: - if "invalid literal" in str(e): - raise TypeError("Girl age must be a valid integer") - raise - - # Calculate and display result - print(boyName, "loves", girlName, ". Age difference is", abs(boyAge - girlAge)) - -except TypeError as e: - print(f"Type Mismatch Error: {e}") -except ValueError as e: - print(f"Value Error: {e}") -except Exception as e: - print(f"An unexpected error occurred: {e}") \ No newline at end of file + boy_name = input("Boy Name: ").strip().capitalize() + boy_age = get_valid_age("Boy age: ") + girl_name = input("Girl Name: ").strip().capitalize() + girl_age = get_valid_age("Girl age: ") + + diff = age_difference(boy_age, girl_age) + print(f"{boy_name} loves {girl_name}. Age difference is {diff}\n") + + except KeyboardInterrupt: + print("\nProgram interrupted by user. Exiting safely...") From 16f95453328d8369b0dcf517442ce58a73643889 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 09:18:01 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- Age_difference/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Age_difference/main.py b/Age_difference/main.py index 3c624fedb98e..627d6c3d1a59 100644 --- a/Age_difference/main.py +++ b/Age_difference/main.py @@ -4,6 +4,7 @@ Wikipedia: https://en.wikipedia.org/wiki/Chronological_age """ + def age_difference(boy_age: int, girl_age: int) -> int: """ Returns the absolute age difference between two people.