Happy Cyber-Chris noises

Story

Sie arbeiten seit einer ganzen Weile für eine Sicherheitsfirma an einer Codebase, für Python-code haben Sie nie Typehints verwendet. Eines Tages stirbt ihr lockerer Chef bei einem Unterwasserabenteuer. Und ausgerechnet Cyber-Chris nimmt seinen Platz ein! Ihnen ist sofort bewusst: Bearbeiten Sie Ihren Python-code nicht sofort, werden sie gefeuert!

Aufgabe

Sie wissen nicht mehr genau wie das ging mit dem Type-Hinting und wollen daher erstmal einfache Beispiele durcharbeiten bevor Sie sich an Ihrem Code wagen.

Bearbeiten Sie den Code so, dass via Type-Hinting jeder Variablen- und Rückgabetyp sofort ersichtlich wird!

var_1 = 42
var_2 = 1.5
var_3 = "das ist ein string!"
var_4 = False

cool_list = [1, 2, 3]
cool_dict = {42: "Die Antwort auf die Frage nach dem Leben, dem Universum und dem ganzen Rest"}

mega_cool_dict = {1: cool_list}

def was_gebe_ich_wohl_zurück(text, number, char):
    return text + number * char

def main():
    print(was_gebe_ich_wohl_zurück("python goes b", 10, 'r'))
    return 0

if __name__ == "__main__":
    main()

Tipp

Achtung Spoiler!
# So geben Sie den Type einer Variable an
var_1: int = 1
var_2: float = 1.0
var_4: bool = True
var_5: str = "test"

# Für Listen und Dictionaries macht man das so
var_6: list[int] = [1]
var_7: dict[str, float] = {"field": 2.0}

# Die Parametertypen und Rückgabetyp einer Funktion gibt man so an
def stringify(num: int) -> str:
    return str(num)

Weitere Informationen unter https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html