Phythonaufgabe mit Schleifen?

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.

mihisu  28.04.2021, 14:57

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)
0
DerNervtNicht 
Fragesteller
 28.04.2021, 15:20

Vielen Dank, jetzt sind auch die anderen Aufgaben logisch für mich

0

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)
Woher ich das weiß:Hobby – Programmiere seit eineinhalb Jahren