Zum Inhalt springen

Python – Vermischte Übungen

Vermischte Übungen

Auf dieser Seite sammle ich verschiedene Übungen mit unterschiedlichem Schwierigkeitsgrad.

  • * mit etwas Geduld gut machbar
  • ** anspruchsvoll
  • *** erfordert Wissen und Planung, sehr anspruchsvoll

Übung 1: Muster zeichnen

  1. Schreibe eine Funktion, die folgendes Muster generiert: Dreieck. (*)
  2. Schreibe eine Funktion, die folgendes Muster generiert: Rechteck. (*)
  3. Schreibe eine Funktion, die folgendes Muster generiert: gleichschenkliges Dreieck. (***)
# 1
*
* *
* * *
* * * *

# 2
* * * *
* * * *
* * * *
* * * *

# 3
      * 
    * * *
  * * * * * 
* * * * * * *

Übung 2: Primzahlen

  1. Schreibe eine Funktion, die eine Zahl darauf prüft, ob sie prim ist. (**)
  2. Schreibe eine Funktion, die prüft, ob eine Primzahl einen Primzahlzwilling hat. (***)
  3. Schreibe eine Funktion, die alle Primzahlen zwischen 2 und n in eine Liste schreibt. (***)

Übung 3: Mathehelfer

  1. Schreibe eine Python-Funktion für die math. Funktion [katex]f(x)=3x^2-2x+4[/katex]. Die Funktion soll einfach f heißen. f(3) bspw. soll den Funktionswert an der Stelle x=3 ausgeben. [Potenzen werden in Python mit doppeltem Strenchen geschrieben.] (*)
  2. Erstelle eine Funktion, die eine Wertetabelle für f im Intervall I=[-10;10] ausgibt. (**)
  3. Diese Übung kannst du an unseren Rechnern an der Schule evtl. noch nicht lösen. Du benötigst das Modul matplotlib dafür:
    Plotte den Graphen der Funktion f mithilfe von matplotlib. Unten ist ein Beispiel für eine lineare Funktion.
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

Übung 4 (by Marlon): Taschenrechner

  1. Programmiere einen Taschenrechner, der mindestens 2 Zahlen addieren, subtrahieren, multiplizieren und dividieren kann.(*)
  2. Versuche den Taschenrechner so effizient wie möglich zu schreiben, ihn also so kurz wie möglich zu fassen; 15 Zeilen oder weniger!(**)

Konzepte mit kleinen Übungen

Die folgenden Programmierübungen richten sich an Lernende, die etwas mehr erproben möchten als im regulären Unterricht geboten wird. Die Übungen sind eher mathematisch motiviert. Die Seite wird noch und nach weiter gefüllt.

Iterative Ansätze

Bei iterativen Ansätzen zählt man grob gesagt hoch. Meistens beginnt man bei 0. Mal ein Beispiel

def kleiner_gauss(n):
    for i in range(n+1):
        n += 1
    return n

print(kleiner_gauss(100))
  1. Recherchiere “kleiner Gauß”. Vergleiche deine Rechercheergebnisse mit dem obigen Code.
  2. Erstelle eine alternative Funktion, mit der die Summe der Zahlen 1 bis n berechnet werden kann.

Heron-Verfahren

  1. Recherchiere das Verfahren und erstelle einen Code, mit dem du die Wurzel einer Zahl annährend bestimmen kannst.
  2. Vergleiche die Güte deiner Approximation mit der exakten Lösung.
  3. Versuche bessere Annäherungen mithilfe des numpy-Pakets zu finden. (sehr schwer)

Rekursion

Fakultät rekursiv

In Python kannst du rekursiv programmieren.

def fak(n):
    if n>0:
        return n*fak(n-1)
    else:
        return 1
print(fak(5))

Fibonacci rekursiv

Genauso kannst du auch die Fibonacci-Folge anlegen. Recherchiere die Fibonacci-Folge und überlege dir einen sinnvollen rekursiven Code für die Fibonacci-Folge.

Lösung anzeigen
def fib(n):
    if n>2:
        return fib(n-2)+fib(n-1)
    else:
        return 1
print(fib(12)) # gibt die 12. Fibonacci-Zahl aus

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert