MINT lernen

Übung — AFB I (Reproduzieren)

Zehn Grundaufgaben zum Programmieren mit Python — wer sie sicher löst, hat die ersten Punkte der Arbeit schon in der Tasche.

Dein Fortschritt:
0 / 0 Aufgaben
1

Aufgabenblock — AFB I

Zehn Grundaufgaben zum Reproduzieren: Befehl kennen, Programm Zeile für Zeile verfolgen, Ausgabe oder Zahl eintragen. Das sind die sicheren Punkte in jeder Arbeit — von print bis zum Rückgabewert. Bei Text-Antworten spielen Groß- und Kleinschreibung und Leerzeichen keine Rolle.

A1
Was steht in der Konsole?
AFB I

Schreib genau auf, was dieses Programm ausgibt.

a = 5b = 3print("Ergebnis", a * b - 1)
print mit Komma: Die Werte werden nacheinander ausgegeben, zwischen ihnen steht automatisch ein Leerzeichen. Eine Rechnung wird vorher ausgerechnet.
Lösung anzeigen
Erst wird gerechnet: 5 · 3 − 1 = 14 (Punkt vor Strich). Dann gibt print den Text und die Zahl mit einem Leerzeichen dazwischen aus: Ergebnis 14
A2
Welcher Datentyp?
AFB I

Welchen Datentyp hat die Variable anteil? Antworte mit int, float, str oder bool.

anteil = 12 / 4print(type(anteil))
Division: Der Operator / liefert in Python immer eine Kommazahl — auch wenn die Division aufgeht.
Lösung anzeigen
12 / 4 ergibt 3.0, nicht 3. Die Ausgabe ist <class 'float'>, also float. Eine ganze Zahl (int) liefert nur 12 // 4.
A3
Ganzzahlig teilen und Rest
AFB I

Welche Zahl gibt das Programm aus?

print(17 // 5 + 17 % 5)
// und %: // teilt ganzzahlig (ohne Rest), % liefert nur den Rest der Division.
Lösung anzeigen
17 : 5 = 3 Rest 2. Also 17 // 5 = 3 und 17 % 5 = 2, zusammen 3 + 2 = 5.
A4
Die Eingabe mal drei
AFB I

Beim Start tippt Jonas 4 ein und drückt Enter. Was gibt die zweite Zeile aus?

zahl = input("Zahl? ")print(zahl * 3)
input: input() liefert immer eine Zeichenkette (str) — auch wenn eine Ziffer eingetippt wird. Und "ab" * 2 ergibt "abab".
Lösung anzeigen
zahl enthält den Text "4", nicht die Zahl 4. Ein Text mal 3 wird dreimal hintereinandergehängt: 444. Für 12 hätte man int(input("Zahl? ")) schreiben müssen.
A5
Welcher Zweig läuft?
AFB I

Was gibt dieses Programm aus?

akku = 35if akku < 10:    print("kritisch")elif akku < 50:    print("bald laden")else:    print("voll genug")
if – elif – else: Python prüft die Bedingungen von oben nach unten. Nur der erste Zweig mit wahrer Bedingung läuft, alle anderen werden übersprungen.
Lösung anzeigen
35 < 10 ist falsch, 35 < 50 ist wahr — also läuft der elif-Zweig: bald laden. Der else-Zweig wird nicht mehr geprüft.
A6
Wie oft läuft die Schleife?
AFB I

Welche Zahl gibt das Programm aus?

vorrat = 100tage = 0while vorrat > 0:    vorrat = vorrat - 15    tage = tage + 1print(tage)
while: Vor jedem Durchlauf wird die Bedingung geprüft. Schreib die Werte von vorrat untereinander, bis die Bedingung falsch ist.
Lösung anzeigen
vorrat: 100 → 85 → 70 → 55 → 40 → 25 → 10 → −5. Nach dem 7. Durchlauf ist vorrat nicht mehr größer als 0: tage = 7
A7
Summe mit Schrittweite
AFB I

Welche Zahl gibt das Programm aus?

summe = 0for i in range(2, 11, 3):    summe = summe + iprint(summe)
range(start, stop, schritt): Die Zählung beginnt bei start und springt jeweils um schritt weiter. Der Stoppwert selbst gehört nie dazu.
Lösung anzeigen
i nimmt die Werte 2, 5, 8 an — die 11 ist der Stoppwert und gehört nicht dazu. Summe 2 + 5 + 8 = 15
A8
Zugriff auf Listenelemente
AFB I

Was gibt das Programm aus?

farben = ["rot", "grün", "blau", "gelb"]print(farben[1], farben[-1])
Index: Die Zählung beginnt bei 0. Der Index −1 bezeichnet immer das letzte Element.
Lösung anzeigen
Index 0 ist „rot“, Index 1 ist „grün“. farben[-1] ist das letzte Element: grün gelb
A9
Ein Stück aus dem Wort
AFB I

Was gibt das Programm aus?

wort = "PROGRAMM"print(wort[3:6])
Slicing: s[a:b] schneidet die Zeichen von Index a bis ausschließlich Index b heraus.
Lösung anzeigen
P=0, R=1, O=2, G=3, R=4, A=5, M=6. wort[3:6] enthält die Indizes 3, 4, 5: GRA
A10
Zwei Rückgabewerte addieren
AFB I

Welche Zahl gibt das Programm aus?

def doppelt_plus(x):    return 2 * x + 1print(doppelt_plus(4) + doppelt_plus(0))
return: Jeder Aufruf wird durch seinen Rückgabewert ersetzt. Erst danach wird addiert.
Lösung anzeigen
doppelt_plus(4) = 2 · 4 + 1 = 9, doppelt_plus(0) = 1. Zusammen 9 + 1 = 10