String Methoden, Vergleichs- & boolsche Operatoren, if-elif-else#

Diese Aufgaben sind etwas anspruchsvoller. Probiert so weit wie möglich zu kommen. Falls ihr nicht weiter wisst probiert es mit einer Internetrecherche. Sonst reichen auch Lösungsansätze.

Strings und ihre Methoden#

Nutze die Methoden von Strings, um die gegebenen Anforderungen zu erfüllen.

# Trenne den Apfel vom Baum, aber den Baum nicht vom Stamm
a = "Apfel-Baum-Stamm"
Hide code cell source
print(a.split('-', 1))
# Schreibe den Namen zusammen
name = ['Georg', 'Elser']
Hide code cell source
# Möglichkeit 1: 
print(name[0] + ' ' + name[1])

# Möglichkeit 2 mit join als Umkehroperation von split()
print(' '.join(name))
# Füge dein Alter und deine Größe ein.
text = 'Ich bin {} Jahre alt und {} cm groß.'
Hide code cell source
alter = 23
groesse = 179

# Möglichkeit 1 mit format
text = 'Ich bin {} Jahre alt und {} cm groß'.format(alter, groesse)
print(text)

# Möglichkeit 2 mit f'-Strings für eine übersichtlichere Darstellung
text = f'Ich bin {alter} Jahre alt und {groesse} cm groß.'
print(text)
# Ersetze alle 'kl' durch 'r'
satz = "Alle kleinen Klaviere klingen geklaut besser."
Hide code cell source
print(satz.replace('kl', 'r'))
# Finde die Nadel im Heuhaufen
heuhaufen = "HeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuNadelHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeu"
Hide code cell source
# Möglichkeit 1:
print(heuhaufen.split('N'))

# Möglichkeit 2:
idx = heuhaufen.find('Nadel')
print(heuhaufen[idx:idx + 5])
# Befindet sich überhaupt eine Nadel im Heuhaufen?
Hide code cell source
if 'Nadel' in heuhaufen:
    print('Ja')
# Großgeschrieben lässt sich die Nadel besser finden. Ändere Nadel im Heuhaufen zu NADEL um
Hide code cell source
print(heuhaufen.replace('Nadel', 'NADEL'))
# Lösche die voranstehenden und nachfolgenden Leerzeichen im Text
text = '         Ich bin ein Text.       '
Hide code cell source
# Die strip()-Methode kann verwendet werden, um Texte am Anfang und Ende zu bereinigen.
print(text.strip())
# Überprüfe ob der string nur aus Buchstaben besteht
string = 'ABCDEFGH1JKLMN0PQRSTUVWXYZ'
Hide code cell source
string.isalpha()

Ändere das Wort ‘Ring’ in Großbuchstaben um. Nutze dafür einmal .replace() und einmal .upper()

satz = "Ein Ring, sie zu knechten."
Hide code cell source
# Möglichkeit 1 mit replace
print(satz.replace('Ring', 'RING'))

satz = "Ein Ring, sie zu knechten."
# Möglichkeit 2 mit upper
token = satz.split()
print(token)
token[1] = token[1].upper()
print(token)
satz = ' '.join(token)
print(satz)

Was ist wahr in Python?#

Welche Werte werden von Python als wahr ausgewertet? Welche Regel steckt dahinter?

a = 20
b = 0
c = 'False'
d = 0.1
e = []
f = ''
g = None
Hide code cell source
# Mit bool(<variable>) wird eine Variable in einen Boolean verwandelt und wir sehen ihren Wahrheitswert
print(bool(a))

Ein Gleichnis#

Gegeben sind fünf Thesen. Überprüfe mithilfe der Vergleichsoperatoren, die in der Vorlesung vorgestellt wurden, ob sie wahr sind.

"""These 1:
Das doppelte von zehn ist mindestens so groß wie das dreifache von fünf."""
'These 1:\nDas doppelte von zehn ist mindestens so groß wie das dreifache von fünf.'
Hide code cell source
2*10 >= 3*5
"""
These 2:
13 zum Quadrat ist genau 169."""
'\nThese 2:\n13 zum Quadrat ist genau 169.'
Hide code cell source
13**2 == 169
"""These 3:
Drei mal acht ist nicht das gleiche wie vier mal sechs."""
'These 3:\nDrei mal acht ist nicht das gleiche wie vier mal sechs.'
Hide code cell source
3*8 != 4*6
"""These 4:
Fünf geteilt durch zwei ist weniger als dreimal ein halb."""
'These 4:\nFünf geteilt durch zwei ist weniger als dreimal ein halb.'
Hide code cell source
5/2 < 3*0.5
"""These 5:
Das zehnfache von 83 ist niemals so groß wie das fünffache von 161."""
'These 5:\nDas zehnfache von 83 ist niemals so groß wie das fünffache von 161.'
Hide code cell source
10*83 < 161

Operation Wahrheit#

Mithilfe der (aussagen-)logischen Operatoren not, or und and können boolesche Werte ausgewertet werden. Ergänze diese Operatoren in den folgenden if-Abfragen, sodass ein bekannter Liedtext ausgegeben wird.

if (3 < 5 and 64 > 66):
    print('Griechischer Wein ist so wie das Blut der Erde')
if  len('') == 1:
    print('Komm, schenk dir ein')
if ('Hallo' or 'False'):
    print('Ich bau ein Schloss')
if True or False:
    print('Und wenn ich dann traurig werde')
if 97 == 22:
    print('Liegt es daran, dass ich immer träume von daheim')
if 0 or 1 or 2:
    print('Morgen Kinder wirds nix geben.')
if False or True and False or True:
    print('Du musst verzeihn.')
Ich bau ein Schloss
Und wenn ich dann traurig werde
Morgen Kinder wirds nix geben.
Du musst verzeihn.
Hide code cell source
if not(3 < 5 and 64 > 66):
    print('Griechischer Wein ist so wie das Blut der Erde')
if  not len('') == 1:
    print('Komm, schenk dir ein')
if not ('Hallo' or 'False'):
    print('Ich bau ein Schloss')
if True or False:
    print('Und wenn ich dann traurig werde')
if not 97 == 22:
    print('Liegt es daran, dass ich immer träume von daheim')
if 0 and 1 and 2:
    print('Morgen Kinder wirds nix geben.')
if False or True and False or True:
    print('Du musst verzeihn.')

Kontrollstrukturen#

Schreibe ein if-Statement welches prüft, ob eine Zahl positiv, negativ oder gleich null ist. Gebe als Ausgabe den Satz “x ist positiv/negativ/null.” entsprechend dem jeweiligen Fall aus. X soll dabei durch die überprüfte Zahl ersetzt werden.

# Dein Code
Hide code cell source
x = float(input('Deine Zahl ist:'))

text = '{} ist {}'

if x > 0:
    text = text.format(x, 'positiv')
elif x < 0:
    text = text.format(x, 'negativ')
else:
    text = text.format(x, '0')

print(text)