Development - Beginner, exercise 13
Text
Write down a small function in Python that takes in input a string and a boolean and return a list of the vowel characters (i.e. those matching with any of the following ones: "a", "e", "i", "o", "u") in the input string if the input boolean is True, otherwise (i.e. the input boolean is False) it returns a list of the characters that are not vowels.
Solution
# Test case for the function
def test_f(s, b, expected):
    result = f(s, b)
    if expected == result:
        return True
    else:
        return False
# Code of the function
def f(s, b):
    result = list()
    for c in s:
        if b and c in "aeiou":
            result.append(c)
        elif not b and c not in "aeiou":
            result.append(c)
    return result
# Tests
print(test_f("john doe", True, ["o", "o", "e"]))
print(test_f("john doe", False, ["j", "h", "n", " ", "d"]))
Additional material
The runnable Python file is available online.