Python — Grundlagen
Kapitel 9 · Praxis

Praxis — Mini-Programme

  1. 1) FizzBuzz. Drucke 1-100. Bei Vielfachen von 3 "Fizz", von 5 "Buzz", von beiden "FizzBuzz".
    Lösung:
    for n in range(1, 101):
        if n % 15 == 0: print("FizzBuzz")
        elif n % 3 == 0: print("Fizz")
        elif n % 5 == 0: print("Buzz")
        else: print(n)
  2. 2) Wort-Zähler. Zähle Wörter in einem String und gib die häufigsten 3 zurück.
    Lösung:
    from collections import Counter
    text = "der katze die katze der hund"
    print(Counter(text.split()).most_common(3))
  3. 3) Primzahlen. Gib alle Primzahlen unter n aus (Sieb des Eratosthenes).
    Lösung:
    def primes(n):
        sieve = [True] * n
        sieve[0] = sieve[1] = False
        for i in range(2, int(n**0.5)+1):
            if sieve[i]:
                for j in range(i*i, n, i):
                    sieve[j] = False
        return [i for i, p in enumerate(sieve) if p]
  4. 4) Datei lesen, Zeilen filtern.
    with open("daten.txt") as f:
        fehler = [zeile for zeile in f if "ERROR" in zeile]
    print(f"{len(fehler)} Fehler gefunden")
  5. 5) Liste umkehren ohne reverse(). Slice-Magic.
    Lösung: liste[::-1] — gibt Kopie zurück, [start:stop:step] mit step=-1.
  6. 6) Dict aus zwei Listen.
    namen = ["Anna", "Bob", "Cora"]
    alter = [28, 35, 22]
    person = dict(zip(namen, alter))
    # {"Anna": 28, "Bob": 35, "Cora": 22}
  7. 7) HTTP-Request.
    import requests
    r = requests.get("https://api.github.com/users/torvalds")
    print(r.json()["public_repos"])
Zurück zu Informatik