Übungsaufgaben zu Lektion 3

Vorab

Eine Anleitung für die Bearbeitung und Abgabe der Übunsgaufgaben in Python findet Ihr im Abgabebereich des Moodlekurses ( Link ).

Kurzform: Eine Aufgabe besteht immer aus einer "Funktion", die für einen definierten Input (Argumente) einen definierten Output zurückgeben soll (engl.: return). Überprüft die Korrektheit dieses Outputs und damit Eurer Lösung mit testme(funktionsname). Wenn Ihr fertig seid, erzeugt unter im Abschnitt Gesamtauswertung Euer Zertifikat und gebt es dann in Moodle zusammen mit diesem Notebook ab.

Hier ein Beispiel für eine Funktion: Die Funktion heißt beispiel, hat die Argumente (den Input) x und y und gibt die Variable ergebnis zurück. Das Ergebnis ist in diesem Fall die Summe der Argumente x und y.

In [ ]:
def beispiel(x, y):
    ergebnis = x + y
    return(ergebnis)
In [ ]:
beispiel(1,1)
In [ ]:
beispiel(2,-3)

Testzentrum importieren!

In [ ]:
from testzentrum import *

Weitere benötigte Pakete importieren

In [ ]:
import random
import string

Wenn

Die Funktion wenn soll x zurückgeben, wenn x größer oder gleich y ist. Sonst soll y zurückgegeben werden.

In [ ]:
def wenn(x, y):
    pass
In [ ]:
testme(wenn)

Alles wahr?

Eine Liste (input_liste) enthalte ausschließlich Bool'sche Werte. Die Funktion alles_wahr soll True zurückgeben, wenn alle Elemente der Liste True sind. Sonst soll False zurückgegeben werden.

In [ ]:
def alles_wahr(input_liste):
    pass
In [ ]:
testme(alles_wahr)

Zahlencheck

Die Funktion zahlencheck soll True zurückgeben,

  • wenn Argument x größer als 10 und nicht durch zwei teilbar ist
  • oder wenn Argument y durch 7 teilbar ist.

Ansonsten soll False zurückgegeben werden.

Hinweis: Um zu überprüfen, ob eine Zahl durch eine andere Zeil teilbar ist, benutzt man den %-Operator. Dieser gibt den "Rest" einer Division zurück.

In [ ]:
# 5 ist nicht durch 2 teilbar, der Rest ist 1
5 % 2
In [ ]:
# 6 ist durch 3 teilbar, der Rest ist 0
6 % 3
In [ ]:
def zahlencheck(x,y):
    pass
In [ ]:
testme(zahlencheck)

Alterseinteilung

Erstelle eine Funktion wie_alt, welche ein gegebenes Alter (alter) in eine Altersklasse einteilt und diese dann zurückgibt. Wir machen es uns einfach und nehmen nur zwei Altersklassen:

  • 0 bis einschließlich 17 sei die Klasse "minderjaehrig"
  • 18 und älter sei die Klasse "volljaehrig"
In [ ]:
def wie_alt(alter):
    pass
In [ ]:
testme(wie_alt)

Mittagessen

Die Funktion mittagessen soll den Satz "Auf in die Mensa!" zurueckgeben, falls ihr Hunger habt (hunger=True) und der Kuehlschrank leer ist (kuehlschrank_voll=False). Andernfalls soll die Funktion "Weiter studieren!" zurückgeben.

In [ ]:
def mittagessen(hunger, kuehlschrank_voll):
    pass
In [ ]:
testme(mittagessen)

Ausflugsplanung

Die Funktion ausflugsplanung soll ueberpruefen, ob in der gegebenen Liste gegebenen wetterbericht der nächsten 5 Tage mindestens ein sonniger Tag dabei ist - also ein Element der Liste sonnig ist. Ist das der Fall, soll die Funktion "Die Ausflugsplanung kann beginnen." zurückgeben. Andernfalls soll die Funktion "Weiter studieren!" zurückgeben.

Beispiel: wetterbericht = ["bewoelkt", "bewoelkt", "regnerisch", "sonnig", "sonnig"]

In [ ]:
def ausflugsplanung(wetterbericht):
    pass
In [ ]:
testme(ausflugsplanung)

Deutliches Statement

Schreibe eine Funktion, welche eine Zeichenkette (string) als erstes Argument und eine Zahl x als zweites Argument bekommt. Die Funktion soll dann eine neue Zeichenkette zurückgeben, in der jeder Buchstabe von string x-mal wiederholt wird.

Häh??

Zum Beispiel:

string = "Feierabend"
x = 5

Output:
"FFFFFeeeeeiiiiieeeeerrrrraaaaabbbbbeeeeennnnnddddd"

Hinweis: Man kann mit for über eine Zeichenkette iterieren wie über eine Liste:

In [ ]:
for letter in "uebung":
    print(letter)
In [ ]:
def deutliches_statement(string,x):
    # Diese Zeichenkette ist noch leer...
    output = ""
    
    ### hier kommt euer Code hin
    
    return(output) 
In [ ]:
testme(deutliches_statement)

Gesamtauswertung

In [ ]:
get_certificate(testmysolutions=[wenn, alles_wahr, zahlencheck, wie_alt, mittagessen, 
                                 ausflugsplanung, deutliches_statement], lesson=3)