Phythonaufgabe mit Schleifen?
Hallo,
ich verstehe nicht wie ich diese Aufgabe lösen kann bzw. soll?
Etwas Hilfe wäre sehr nett.
2 Antworten
Du brauchst eine Variable (Bennennung beispielsweise: ZahlGesamt), in der du die Gesamtzahl der benötigten Reiskörner speicherst. Und du brauchst eine Variable (Benennung beispielsweise: ZahlAufFeld), in der du die Anzahl der Körner auf dem aktuellen Feld abspeicherst.
Bei ZahlAufFeld beginnst du mit 1 und in jedem Schleifendurchlauf wird der Wert verdoppelt, so dass dann als nächstes in den nächsten Durchläufen die Zahlen 2, 4, 8, 16, ... abgearbeitet werden.
Diese Zahlen addierst du jeweils zum aktuellen Gesamtwert, um so am Ende die Summe aller Zahlen der einzelnen Felder zu haben.
Pseudocode-mäßig könnte das dann in etwa so aussehen...
ZahlGesamt = 0
ZahlAufFeld = 1
Wiederhole 64-mal:
Addiere ZahlAufFeld zu ZahlGesamt
Verdopple den Wert von ZahlAufFeld
Gebe ZahlGesamt als Ergebnis aus
[Beachte, dass ich in der Schleife erst die Addition durchführe und dann verdopple. Überlege dir, warum man ein falsches Ergebnis erhalten würde, wenn ich diese beiden Anweisungen vertauscht hätte. Bzw. was man sonst ändern müsste, wenn man die beiden Anweisungen entsprechend vertauscht, damit das Ergebnis richtig wird.]
Versuche das nun in Python umzusetzen.
In Python könnte dass dann beispielsweise so aussehen...
ZahlGesamt = 0
ZahlAufFeld = 1
for k in range(64):
ZahlGesamt += ZahlAufFeld
ZahlAufFeld *= 2
print("Gesamte Anzahl der Reiskörner:", ZahlGesamt)
Vielen Dank, jetzt sind auch die anderen Aufgaben logisch für mich
Du brauchst nur eine Variable, in der du die Summe speicherst und auf die du den Wert von einem "Schachfeld" drauf addieren kannst. Außerdem eine Schleife, die 64 mal die Anzahl an Reiskörnern auf dem nächsten Schachfeld berechnet. Die bekommst du mit 2 hoch die Nummer des Feldes bzw. des Schleifendurchlaufs. Am Ende sieht das dann also so aus:
sum = 0
for i in range(64):
sum += 2**i
print(sum)