Last active
November 30, 2022 13:53
-
-
Save rahulwa/5c1fcf33c5ae9eb545ea2394f773f488 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from typing import List | |
def is_prime(x: int) -> bool: | |
if x > 1: | |
for i in range(2, int(x / 2) + 1): | |
if (x % i) == 0: | |
return False | |
break | |
else: | |
return True | |
# If the number is less than 1, its also not a prime number. | |
else: | |
return False | |
def is_even(x: int) -> bool: | |
return x % 2 == 0 | |
def get_numbers_from_string(input: str) -> List[int]: | |
last_number = None | |
list_of_number = [] | |
for i in input: | |
if i.isdigit(): | |
last_number = f'{last_number}{i}' if last_number else i | |
continue | |
else: | |
if last_number: | |
list_of_number.append(int(last_number)) | |
last_number = None | |
return list_of_number | |
def sum_of_even_and_odd_digits(numbers: List[int]) -> int: | |
sum = 0 | |
for n in numbers: | |
if is_even(n) or is_prime(n): | |
sum += n | |
return sum | |
def sum_of_even_prime_numbers_in_string(input: str) -> int: | |
list_of_number = get_numbers_from_string(input) | |
sum_of_even_odd_num = sum_of_even_and_odd_digits(list_of_number) | |
print(f'sum of odd and even numbers in input is {sum_of_even_odd_num}') | |
return sum_of_even_odd_num |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment