Lösungen Tutorial 1¶

Aufgabe: Geben Sie den Text Hallo Python aus. 1 Punkt

In [1]:
print("Hallo Python")
Hallo Python

Aufgabe 2 Punkte:

Definieren Sie zunächst die zwei Variablen a und b und initialisieren diese mit einem Integerwert ungleich 0:

In [2]:
a = 1
b = -2

Aufgabe 2 Punkte:

Definieren Sie zwei Variablen s und t und initialisieren diese mit einem Floatwert ungleich 0:

In [3]:
s = 1.5
t = -2.7

Aufgabe 2 Punkte:

Addieren Sie die Werte der Variablen a und b und speichern Sie das Ergebnis in der Variable c:

In [4]:
c = a + b
c
Out[4]:
-1

Aufgabe 5 Punkte:

Nutzen Sie die Variablen a & b und Speichern Sie die Ergebnisse für die Multiplikation, Division, Ganzzahldivision, Exponentiation und den Modulo-Operator in den unten angegebenen Variablen:

\begin{align} m &= a\cdot b\\ d &= \frac{a}{b}\\ i &= \lfloor\frac{a}{b}\rfloor\\ e &= a^b\\ r &= a\; \textrm{mod}\; b \end{align}

In [5]:
m = a*b
d = a/b
i = a//b
e = a**b
r = a%b

Aufgabe 2 Punkte:

Ein String-Objekt (Text) können sie mit Hilfe von 'Some Text' oder "Some Text2" definieren. Definieren sie die Variable text mit einem beliebigen Text.

In [6]:
text = "Hi Mom, I am on TV!"
print(text)
Out[6]:
'Hi Mom, I am on TV!'

Aufgabe 1 Punkte:

Geben Sie die Variablen a & b aus Aufgabe 1 im format "a = 12 und b = 12" (Die Werte sollen dann den Werten aus ihrer Definition entsprechen. 12 ist hier nur ein Beispiel) aus.

In [7]:
# 1. Möglichkeit Format Funktion
print("a = {} und b = {}".format(a, b))
a = 1 und b = -2
In [9]:
# 2. Möglichkeit 'f'-String
print(f"a = {a} und b = {b}")
a = 1 und b = -2

Aufgabe 1 Punkte:

Definieren Sie die Variable l und weisen Sie dieser Variable eine Liste mit aufsteigenden Integerwerten von 0 bis 4 zu.

In [10]:
l  = [0, 1, 2, 3, 4]

Aufgabe 1 Punkte:

Hängen Sie der Liste l noch den Wert 42 an.

Hinweis: Nutzen Sie dafür die Methode .append.

In [11]:
l.append(42)

Aufgabe 1 Punkte:

Geben Sie das dritte Element der Liste l aus.

Hinweis: Achten Sie darauf das der erste Index immer 0 ist.

In [13]:
l[2]
Out[13]:
2

Aufgabe 1 Punkte:

Geben Sie das vorletzte Element der Liste l aus.

Hinweis: Achten Sie darauf das der letzte Index mit -1 ausgegeben wird

In [14]:
l[-2]
Out[14]:
4

Aufgabe 1 Punkte:

Initialisieren Sie die Dictionary Variable my_dict mit folgendem Mapping:

Key Value
"apple" "Apfel"
"banana" "Banane"
"cherry" "Kirsche"
In [15]:
my_dict = {"apple": "Apfel", "banana": "Banane", "cherry": "Kirsche"}

Aufgabe 1 Punkte:

Fügen Sie nun das Key-Value Paar "pear": "Birne" zu my_dict hinzu.

In [16]:
my_dict["pear"] = "Birne"

Aufgabe 1 Punkte:

Geben Sie die nur die Werte des Dictionaries my_dict aus.

In [17]:
print(my_dict.values())
dict_values(['Apfel', 'Banane', 'Kirsche', 'Birne'])

Aufgabe 1 Punkte:

Geben Sie die Elemente des Dictionaries my_dict mit der Funktion .items() aus.

In [18]:
print(my_dict.items())
dict_items([('apple', 'Apfel'), ('banana', 'Banane'), ('cherry', 'Kirsche'), ('pear', 'Birne')])

Recap¶

def some_function_name(param1, param2):
    a = do_something1(param1)
    b = do_something2(a, param2)
    do_something3(b)
    return b

"gebe zurück" = return "gebe aus" = print

Aufgabe 1 Punkte:

Schreibe eine Funktion successor die auf jede Eingabe +1 rechnet.

In [19]:
def successor(n):
    return n+1

successor(42)
Out[19]:
43

Aufgabe 1 Punkte:

Schreibe eine Funktion add mit den Eingabeparametern a & b, welche die Werte von a & b miteinander addiert.

In [20]:
def add(a,b):
    return a+b

add(2,5)
Out[20]:
7

Aufgabe 1 Punkte:

Schreibe eine Funktion is_odd mit einem Eingabeparameter n die prüft ob die eingegebene Zahl ungerade ist.

Wenn die Zahl gerade ist gebe den Text "Gerade Zahl" und bei ungerade "Ungerade Zahl" zurück.

In [21]:
def is_odd(n):
    if n % 2 == 0:
        return "Gerade Zahl"
    else:
        return "Ungerade Zahl"

print(is_odd(2))
print(is_odd(3))
Gerade Zahl
Ungerade Zahl

Aufgabe 7 Punkte: Schreibe eine Funktion fubar mit Eingabeparameter n. Die Funktion soll wie folgt definiert sein:

  • Der Eingabeparameter n ist ein Integer, Floats geben False zurück
  • Negative zahlen & 0 beenden die Funktion und geben False zurück
  • Die Funktion zählt bis einschließlich dem Eingabeparameter bsp.: $n=9 \rightarrow 1, 2, 3, \dots, 9$
  • Bei jedem Schleifendurchlauf soll die Zahl bei der sich die Schleife gerade befindet mittels print ausgegeben werden werden.
  • Ist der zurzeitige Schleifendurchlauf durch 3 teilbar, gebe mittels print denn String Foo aus.
  • Ist der zurzeitige Schleifendurchlauf durch 5 teilbar, gebe mittels print denn String Bar aus.
  • Ist der zurzeitge Schleifendurrchlauf durch 3 & 5 teilbar, gebe mittels print den String FooBar aus.

Tipp: Implementiere nicht alles aufeinmal sollte Schritt für Schritt und teste deine Lösung nach jedem Schritt.

In [22]:
def fubar(n: int):
    if isinstance(n, float) or n < 1:
        return False

    count = 1
    while count <= n:
        msg = count
        if count % 3 == 0:
            msg = "Foo"
        if count % 5 == 0:
            msg = "Bar"
        if count % 15 == 0:
            msg = "FooBar"
        
        count += 1
        print(msg, end=', ')
In [24]:
# Testen
print("Negative Zahl", fubar(-1))
print("Null", fubar(0))
print("Float", fubar(0.1))
print("Testen über 15")
fubar(16)
Negative Zahl False
Null False
Float False
Testen über 15
1, 2, Foo, 4, Bar, Foo, 7, 8, Foo, Bar, 11, Foo, 13, 14, FooBar, 16,