Wie kann ich das Python-Programm fortsetzen, sodass es mir anzeigt, in welchem Fach eine Kugel gelandet ist?
Hi,
ich bin relativ neu in Python und hätte diesbezüglich eine Frage dazu:
Wie soll ich folgendes Programm fortsetzen?
from random import *
Kugeln = int(input("Wie viele Kugeln sollen verwendet werden?"))
if Kugeln <= 0:
print("Gib eine natürliche Zahl ein!")
exit()
Ebenen = int(input("Wie viele Ebenen sollen verwendet werden?"))
AnzFächer = Ebenen = Ebenen + 1
Fächer = []
r = randint(1, 2)
i = 1
for x in range(Ebenen):
r = randint(1, 2)
if r == 2:
Fächer.append(i)
print(Fächer)
z = len(Fächer)
for k in range(1, Kugeln + 1):
print("Die", k, ". Kugel ist im", z + 1, ". Fach gelandet!")
Ich würde gerne das Programm erweitern, damit es mir für jede Kugel anzeigt, in welchem Fach diese gelandet ist und nicht nur für jede Kugel dasselbe Ergebnis.
Lässt sich das Programm auf diese Weise überhaupt noch fortsetzen oder habe ich den falschen Ansatz? Das Programm bezieht sich auf ein Galtonbrett.
Vielen Dank.
1 Antwort
Vom Fragesteller als hilfreich ausgezeichnet
Hallo.
Ich denke du solltest dein Programm noch einmal überdenken, da hier einiges schief läuft bzw. noch nicht zielführend ist.
- Du definierst "AnzFächer" verwendest es aber nirgends. Kleiner Tipp am Rande: AnzFächer = Ebenen = Ebenen + 1 ist doppelt gemoppelt. AnzFächer = Ebenen +1 reicht hier völlig.
- Davon ab ist AnzFächer falsch definiert. ich vermute du meinst mit Ebenen wie oft zwischen hier 1 und 2 entschieden werden soll, wie in einem Baumdiagramm des Galtonbretts. Für eine Ebene würde deine Formel stimmen, für 2 Ebenen aber schon nicht mehr. Das kannst du ja leicht nachrechnen und die Formel entsprechend anpassen.
- Die Ausgabe deines Programmes ist entsprechend fehlerhaft bzw. kann ich diese nicht nachvollziehen. Möchtest du jeden "Zwsichenschritt" ausgeben? Sprich jeden Pfad nach einer Ebene oder das letzte Fach wo eine Kugel landen wird wenn es durch das ganze Galtonbrett gelaufen ist?