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"
Show code cell source
print(a.split('-', 1))
# Schreibe den Namen zusammen
name = ['Georg', 'Elser']
Show 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ß.'
Show 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."
Show code cell source
print(satz.replace('kl', 'r'))
# Finde die Nadel im Heuhaufen
heuhaufen = "HeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuNadelHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeuHeu"
Show 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?
Show 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
Show code cell source
print(heuhaufen.replace('Nadel', 'NADEL'))
# Lösche die voranstehenden und nachfolgenden Leerzeichen im Text
text = ' Ich bin ein Text. '
Show 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'
Show 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."
Show 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
Show 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.'
Show code cell source
2*10 >= 3*5
"""
These 2:
13 zum Quadrat ist genau 169."""
'\nThese 2:\n13 zum Quadrat ist genau 169.'
Show 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.'
Show 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.'
Show 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.'
Show 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.
Show 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
Show 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)