12 Listen und return-Werte
Woche 12
Beantwortet die folgenden Quiz-Fragen. Falls Ihr Fehler oder Unklarheiten findet, schreibt Piko gerne eine Mail.
Am Ende des Quiz seht Ihr, welche Fragen Ihr richtig beantwortet habt. Ihr könnt auf die Fragen klicken, um Eure Antworten zu korrigieren.
Das Quiz ist so gedacht, dass Ihr vorher die Videos gesehen haben solltet. Wenn Ihr in die Videos reinguckt und merkt, dass Ihr das alles schon wisst, dann könnt Ihr das Quiz natürlich auch ohne die Videos probieren.
---
primaryColor: steelblue
secondaryColor: '#e8e8e8'
textColor: black
shuffleQuestions: false
shuffleAnswers: true
locale: en
---
# Welche der folgenden sind Datentypen, die in Python üblicherweise vorkommen?
Was für Dinge gibt es in Python?
(Mehrfachnennung möglich)
> Es geht um "eingebaute" Datentypen.
- [x] Strings
- [x] Integers
- [x] Floats
- [x] Listen
- [x] Tupel
- [x] Booleans (`True` und `False`)
- [ ] Halbleiter
- [ ] Bilder
- [ ] Sounddateien
# Welche Dinge kann eins als Wertevorrat für eine for-Schleife verwenden?
Zum Beispiel für `vorrat` in folgendem Schnipsel:
```python
vorrat = ...
for dings in vorrat:
print(dings)
```
(Wenn Ihr Euch unsicher seid, dann probiert es aus: `vorrat = 5.3` usw.)
- [x] Strings
- [x] Listen
- [x] Tupel
- [ ] Integers
- [ ] Floats
- [ ] Booleans (`True` oder `False`)
# Runde Klammern werden verwendet für ...
(... obwohl es ganz unterschiedliche Sachen sind ...)
- [x] Funktionen
- [x] Tupel
- [ ] "Indizierung", also um das so-und-so-vielte Element einer Auflistung zu bekommen: `neue_liste(3)`
- [ ] Strings
- [ ] Listen
# Eckige Klammern werden verwendet für ...
- [x] Listen
- [x] "Indizierung", also um das so-und-so-vielte Element einer Auflistung zu bekommen: `neue_liste[3]`
- [ ] Für das Schreiben eines Strings.
- [ ] Tupel
# Wenn ich ein Tupel mit nur einem Element erstellen will, dann ...
1. [x] muss ich am Ende noch ein Komma hinzufügen, denn sonst wird das gleich wieder "ausgepackt": (2, )
1. [ ] geht das gar nicht.
1. [ ] kann ich das einfach so machen: (2)
1. [ ] geht es nur indirekt durch eine Liste.k
# Was bekomme ich hier?
Was ist in `dings` drin?
```python
mein_tupel = ("Kekse", "Solar Punk", "Bücher", "Schokolade", "Python", "Wortspiele")
dings = mein_tupel[3]
```
1. [x] `"Schokolade"`
1. [ ] `"Bücher"`
1. [ ] `"Python"`
1. [ ] `None`
1. [ ] Gar nichts, es gibt eine Fehlermeldung.
# Wie komme ich an `"Schokolade"`?
```python
liste = ["Hausarbeit", 23, ("Kekse", "Bücher", "Schokolade"), 5.0, ["Rosen", "-kohl"]]
```
1. [x] `liste[2][-1]`
1. [ ] `liste[3][-1]`
1. [ ] `liste[3][3]`
1. [ ] `liste[4][4]`
# Wie verwende ich `append()` richtig?
```python
liste = ["Buche", "Moos", "Distel", "Farn"]
# hier eine Zeile mit append()...
print(liste)
```
1. [x] liste.append("Schafgarbe")
1. [ ] append(liste, "Schafgarbe")
1. [ ] append("Schafgarbe", liste)
1. [ ] "Schafgarbe".append(liste)
1. [ ] liste = liste.append("Schafgarbe")
1. [ ] liste = append("Schafgarbe")
# Was ist ein return-Wert?
1. [x] Der Wert, den eine Funktion zurückgibt.
1. [ ] Die Werte, die in eine Funktion reinkommen.
1. [ ] Immer das, was zwischen den eckigen Klammern `[ ]` steht.
# Welche der Funktionen haben *keinen* return-Wert?
Wenn Ihr Euch unsicher seid, dann probiert es selbst aus, so wie im Video ab 10:00.
(Mehrfachnennung möglich)
- [x] `print()`
- [x] `forward()`
- [ ] `len()`
- [ ] `max()`
- [ ] `randint()`
# Was ist an folgendem Code ungünstig?
```python
from random import randint
def wuerfle():
zahl = randint(1, 6)
return zahl
print("Das Quadrat von", wuerfle(), "ist", wuerfle()**2)
```
1. [x] Es wird zweimal gewürfelt, sodass die zweite Zahl nicht unbedingt das Quadrat der ersten ist.
1. [ ] `randint()` ist falsch importiert.
1. [ ] In `print()` werden Kommata und kein "+" verwendet.
# Was ist an folgendem Code ungünstig?
```python
from random import randint
def wuerfle():
zahl = randint(1, 6)
return zahl
print(zahl)
z = wuerfle()
```
1. [x] Die Zeile mit `return` ist nicht am Ende der Funktion; die Zeile mit `print()` wird deswegen nie ausgeführt werden.
1. [ ] `randint()` ist falsch importiert.
1. [ ] In der letzten Zeile bräuchte `wuerfle()` ein Argument.