Python 101 LN 2#
Übungsblatt 2, Punkte: 2
Aufgabe LN2.1: Ein Ergebnis mit dem richtigen Datentyp erzeugen#
gegeben folgende Variablen:
i = 3
j = 5
pi = 3.14
Im folgenden sind einige Rechnungen angegeben. Weisen Sie in den folgenden Zellen an der Stelle ...
den Variablen X
und Y
die Variablen von oben (i
, j
usw.) so zu, dass das assert
keinen Fehler mehr wirft.
Beispiel:
# Aufgabe
X = ...
Y = ...
ergebnis = X // Y
print(ergebnis)
assert ergebnis == 1
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[2], line 4
2 X = ...
3 Y = ...
----> 4 ergebnis = X // Y
5 print(ergebnis)
6 assert ergebnis == 1
TypeError: unsupported operand type(s) for //: 'ellipsis' and 'ellipsis'
X = ...
Y = ...
ergebnis = X // Y
print(ergebnis)
assert ergebnis == 1
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[61], line 3
1 X = ...
2 Y = ...
----> 3 ergebnis = X // Y
4 print(ergebnis)
5 assert ergebnis == 1
TypeError: unsupported operand type(s) for //: 'ellipsis' and 'ellipsis'
X = ...
Y = ...
ergebnis = X % Y
print(ergebnis)
assert ergebnis == 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[53], line 3
1 X = ...
2 Y = ...
----> 3 ergebnis = X % Y
4 print(ergebnis)
5 assert ergebnis == 2
TypeError: unsupported operand type(s) for %: 'ellipsis' and 'ellipsis'
X = ...
Y = ...
ergebnis = X / Y
print(ergebnis)
assert ergebnis == 1.0
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[62], line 3
1 X = ...
2 Y = ...
----> 3 ergebnis = X / Y
4 print(ergebnis)
5 assert ergebnis == 1.0
TypeError: unsupported operand type(s) for /: 'ellipsis' and 'ellipsis'
Aufgabe LN2.2: Slicing#
Gegeben sind folgende Listen:
abc = ['a', 'b', 'c']
h = "Hallo Welt!"
s = " sein oder nicht sein " # chaotische Leerzeichen
q = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81 ]
Erzeugen Sie auf Basis dieser Listen mit den Mitteln aus unserer vergangenen Woche Freitag eine Rechnung, die keinen Fehler wirft.
Beispiel:
# Aufgabe
#assert "Hallo" == ...
# Lösung
assert "Hallo" == h[0:5]
Jetzt sind Sie dran:
# alle geraden Quadratzahlen
assert [0, 4, 16, 36, 64] == ...
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Cell In[107], line 2
1 # alle geraden Quadratzahlen
----> 2 assert [0, 4, 16, 36, 64] == ...
AssertionError:
assert 'HloWl!' == ...
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Cell In[95], line 1
----> 1 assert 'HloWl!' == ...
AssertionError:
assert '!tleW ollaH' == ...
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Cell In[96], line 1
----> 1 assert '!tleW ollaH' == ...
AssertionError:
assert ['H', 'a', 'l', 'l', 'o'] == ... # hier sind 2 äquivalente Lösungen möglich
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Cell In[97], line 1
----> 1 assert ['H', 'a', 'l', 'l', 'o'] == ... # hier sind 2 äquivalente Lösungen möglich
AssertionError:
2024-10-29: Die folgende Teilaufgabe “sein oder nicht sein” war fehlerhaft gestellt, ist zurückgezogen. So hätte sie sein sollen, bitte LÖSUNG nachvollziehen:
#falsch:
# assert ['sein', 'oder', 'nicht', 'sein', 'Auto?']
#korrekt:
othello = ['sein', 'oder', 'nicht', 'sein', 'Auto?']
# Lösung
"_".join( othello[0:4] )
'sein_oder_nicht_sein'
assert 'sein_oder_nicht_sein' == "_".join( othello[0:4] )
Aufgabe LN2.3: Markdown#
Im folgenden haben wir einen Sceenshot einer Seite.
Aufgabe: Bauen Sie diese Seite mit Markdown nach!
Lernziel: Hier geht es um Markdown-Formatierung, insbesondere Liste, Zitate, Code-Beisiele im Markdown-Text selbst. Damit Sie den Text dieser Seite nicht selbst eintippen müssen, finden Sie die meisten Text-Bestandteile in der folgenden Zelle. Die Aufgabe besteht also darin, untige Zelle mit Markdown zu formatieren, dass sie wie das Bild aussieht.
— BEGINN Abbildung (png) —
Wird das Bild nicht angezeigt? Hier online: https://www.jbusse.de/python-101/_images/python-101-ln2_hallowelt.png
— ENDE Abbildung (png) —
Aufgabe: LN2.3 Name: Meier, Anna MatNr: 1003344
Hallo Welt!
“Hallo Welt” ist das vielleicht bekannteste Programm der Welt:
aus https://en.wikipedia.org/wiki/”Hello,_World!”_program:
the tradition of using the phrase “Hello, World!” as a test message was influenced by an example program in the 1978 book The C Programming Language
aus http://helloworldcollection.de/:
“Hello World” is the first program one usually writes when learning a new programming language.
Es wird verwendet als Beispiel für ein minimales Programm.
Installation
In der virtuellen Maschine dsci-lab https://www.jbusse.de/dsci-lab/ installiert man das Software-Paket hello z.B. mit sudo apt install hello oder mit sudo apt install hello-traditional.
Hello World in verschiedenen Programmiersprachen
Python:
print(“Hello, World!”)
Java, Quelle: https://en.wikipedia.org/wiki/Java_(programming_language)#Hello_world
public class Example {
public static void main(string[] args) {
System.out.println(“Hello World!”); }
}