From 1cf9f29496cd7d7e83ae34675077a434871e0b33 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Sun, 26 Oct 2025 20:57:53 +0100 Subject: [PATCH] ex06 part 2 ok --- d00/ex06/ft_filterstring.py | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 d00/ex06/ft_filterstring.py diff --git a/d00/ex06/ft_filterstring.py b/d00/ex06/ft_filterstring.py new file mode 100644 index 0000000..c0a8348 --- /dev/null +++ b/d00/ex06/ft_filterstring.py @@ -0,0 +1,39 @@ +from ft_filter import ft_filter + + +def get_args(argv: list[str]) -> dict[str, int]: + """check and return arguments""" + + error_msg = "the arguments are bad" + + assert len(argv) == 3, error_msg + + try: + msg_len = int(argv[2]) + except ValueError: + raise AssertionError(error_msg) + + return {"text": argv[1], "len": msg_len} + + +def main(argv: list[str]): + """filter small words in string""" + + try: + args = get_args(argv) + except AssertionError as err: + print("AssertionError:", err) + return + + text = args["text"] + maxlen = args["len"] + + words = [word for word in text.split()] + + filter_words = list(ft_filter(lambda word: len(word) > maxlen, words)) + print(filter_words) + + +if __name__ == "__main__": + import sys + main(sys.argv)