Moin erst einmal. Ich hoffe ich bin hier richtig.
Ich baue gerade eine Anzeige für eine Luftkegelbahn. Die Anzeige besteht aus 11einstelligen 7-Segmentanzeigen und einer zweistelligen 7-Segmentanzeige für das Ergebnis. Die 7-Segmentanzeigen werden über jeweils einen Arduino Nano mit hinter geschaltetem ULN2803A angesteuert. Der Raspberry ( PI B3+) kommuniziert über den I2C-Bus mit den einzelnen Arduinos. Die Steuerung der Anzeigen funktioniert.
Der Programmablauf sieht bis jetzt so aus :
1. Der Schreiber gibt die Anzahl der Mannschaften ein.
2. Der Schreiber gibt die Anzahl der Spieler für die gerade kegelnde Mannschaft ein.
3. Jetzt wird der Wert für den jeweiligen Wurf vom Schreiber eingegeben
4. Nach dem 11 Wurf wird der schlechteste Wurf gelöscht, und das Ergebnis aus zehn Würfen wird errechnet.
5. Nach einer Pause von 5 Sec. werden die 7-Segmentanzeigen für die Würfe und das Ergebnis gelöscht
6. Das Programm startet wieder bei der Eingabe für den ersten Wurf.
Leider weiß ich nicht wie man hier das Programmlisting einfügt
Nun möchte ich dass die einzelnen Würfe, die Gesamtpunktzahl der Würfe sowie das Ergebnis der Mannschaft in einer Tabelle ( die dann später ausgedruckt werden soll ) gespeichert wird.
Da hapert es noch, vielleicht kann mir da jemand helfen.
Werte in eine Tabelle eintragen
- __blackjack__
- User
- Beiträge: 13061
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Luftkegler: Was heisst „Tabelle“ genau? Wie soll ausgedruckt werden? Würde es reichen an der entsprechenden Stelle wo die Daten alle vorliegen eine CSV-Datei zu erstellen oder zu erweitern? Zum schreiben und lesen von CSV-Dateien gibt es in der Standardbibliothek das `csv`-Modul.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 2
- Registriert: Samstag 18. Juni 2022, 13:27
Mit Tabelle meine ich, in den Spalten A2 - J2 werden die Punkte von den 10 gültigen Würfen eines Spielers eingetragen, in Spalte K2 wird das Ergebnis der 10 Würfe eingetragen und in Spalte L2 das Ergebnis der jeweiligen Mannschaft.
Für den zweiten Spieler wird in Zeile 3 geschrieben usw.
In Zeile 1 steht | Wurf 1 bis Wurf 10 | Ergebnis Spieler | Ergebnis Mannschaft
Ich weiß , man könnte das Programm kürzer schreiben, aber ich finde es so übersichtlicher.
Für den zweiten Spieler wird in Zeile 3 geschrieben usw.
In Zeile 1 steht | Wurf 1 bis Wurf 10 | Ergebnis Spieler | Ergebnis Mannschaft
Ich weiß , man könnte das Programm kürzer schreiben, aber ich finde es so übersichtlicher.
Code: Alles auswählen
#!/usr/bin/python
# coding=utf-8
import smbus
import time, sys
#import picamera
#camera = picamera.PiCamera()
bus = smbus.SMBus(1)
Wurfnummer = 1
Dummy_1 = 10
Dummy_2 = 101
Wurf = 0
Weiter = 1
Kegel_1 = 0
Kegel_2 = 0
Kegel_3 = 0
Kegel_4 = 0
Kegel_5 = 0
Kegel_6 = 0
Kegel_7 = 0
Kegel_8 = 0
Kegel_9 = 0
Kegel_10 = 0
Kegel_11 = 0
Personen = 1
Ergebniss_Mannschaft = 0
Mannschaften = 0
Mannschaften = int(input("Wieviel Mannschaften sind heute gemeldet ?"))
Mannschaften = Mannschaften + 1
for x in range (1,Mannschaften,1):
Personen = int(input("Wieviel Personen sind in der Mannschaft ?"))
Personen = Personen +1
for i in range (1,Personen,1):
Kegel_1 = 0
Kegel_2 = 0
Kegel_3 = 0
Kegel_4 = 0
Kegel_5 = 0
Kegel_6 = 0
Kegel_7 = 0
Kegel_8 = 0
Kegel_9 = 0
Kegel_10 = 0
Kegel_11 = 0
time.sleep(0.1)
print("Anzeigen werden gelöscht")
address = 0x1b
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x1d
bus.write_byte(address,Dummy_1)
time.sleep(1)
address = 0x1f
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x09
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x0b
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x0d
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x0f
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x11
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x13
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x15
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x17
bus.write_byte(address,Dummy_1)
time.sleep(0.1)
address = 0x19
bus.write_byte(address,Dummy_2)
time.sleep(0.1)
print("Nun gehts los")
time.sleep(0.1)
address = 0x1b
Kegel_1 = int(input("Punkte für Wurf 1 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_1 > 9:
Kegel_1 = 0
bus.write_byte(address,Kegel_1)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x1d
Kegel_2= int(input("Punkte für Wurf 2 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_2 > 9:
Kegel_2 = 0
bus.write_byte(address,Kegel_2)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x1f
Kegel_3= int(input("Punkte für Wurf 3 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_3 > 9:
Kegel_3 = 0
bus.write_byte(address,Kegel_3)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x09
Kegel_4= int(input("Punkte für Wurf 4 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_4 > 9:
Kegel_4 = 0
bus.write_byte(address,Kegel_4)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x0b
Kegel_5 = int(input("Punkte für Wurf 5 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_5 > 9:
Kegel_5 = 0
bus.write_byte(address,Kegel_5)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x0d
Kegel_6= int(input("Punkte für Wurf 6 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_6 > 9:
Kegel_2=0
bus.write_byte(address,Kegel_6)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x0f
Kegel_7= int(input("Punkte für Wurf 7 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_7 > 9:
Kegel_7 = 0
bus.write_byte(address,Kegel_7)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x11
Kegel_8= int(input("Punkte für Wurf 8 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_8 > 9:
Kegel_8 = 0
bus.write_byte(address,Kegel_8)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x13
Kegel_9= int(input("Punkte für Wurf 9 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_9 > 9:
Kegel_9 = 0
bus.write_byte(address,Kegel_9)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x15
Kegel_10= int(input("Punkte für Wurf 10 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_10 > 9:
Kegel_10 = 0
bus.write_byte(address,Kegel_10)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
address = 0x17
Kegel_11= int(input("Punkte für Wurf 11 eingeben ( für einen Pudel bitte 11 ) :"))
if Kegel_11 > 9:
Kegel_11 = 0
bus.write_byte(address,Kegel_11)
time.sleep(0.1)
address = 0x19
Ergebniss_roh = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss_roh)
time.sleep(0.1)
Wurfnummer = int(input("Bitte den ungültigen Wurf eingeben : "))
if Wurfnummer == 1:
address = 0x1b
Dummy_1 = 10
Kegel_1 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 2:
address = 0x1d
Dummy_1 = 10
Kegel_2 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 3:
address = 0x1f
Dummy_1 = 10
Kegel_3 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 4:
address = 0x09
Dummy_1 = 10
Kegel_4 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 5:
address = 0x0b
Dummy_1 = 10
Kegel_5 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 6:
address = 0x0d
Dummy_1 = 10
Kegel_6 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 7:
address = 0x0f
Dummy_1 = 10
Kegel_7 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 8:
address = 0x11
Dummy_1 = 10
Kegel_8 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 9:
address = 0x13
Dummy_1 = 10
Kegel_9 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 10:
address = 0x15
Dummy_1 = 10
Kegel_10 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
elif Wurfnummer == 11:
address = 0x17
Dummy_1 = 10
Kegel_11 = 0
bus.write_byte(address,Dummy_1)
address = 0x19
Ergebniss = (Kegel_1 + Kegel_2 + Kegel_3 + Kegel_4 + Kegel_5 + Kegel_6 + Kegel_7 + Kegel_8 + Kegel_9 + Kegel_10 + Kegel_11)
bus.write_byte(address,Ergebniss)
print("Spieler hat " ,Ergebniss, " Punkte")
Ergebniss_Mannschaft = (Ergebniss_Mannschaft + Ergebniss)
print("Die Manschaft hat ",Ergebniss_Mannschaft, "Punkte")
time.sleep(5)
- __blackjack__
- User
- Beiträge: 13061
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Luftkegler: Eingerückt wird mit vier Leerzeichen pro Ebene nicht mal mit *20* und mal mit 8.
`sys` wird importiert, aber nirgends verwendet.
Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Und nein, ein Programm ohne Funktionen mit 300 Zeilen Code der hauptsächlich durch kopieren und einfügen entstanden ist, ist nicht übersichtlich. Das will keiner lesen.
Man nummeriert keine Namen. Dann will man sich entweder bessere Namen überlegen, oder gar keine Einzelwerte sondern eine Datenstruktur verwenden. Oft eine Liste.
Man definiert Namen erst wenn man sie braucht und belegt die nicht alle am Anfang mit einem Wert der in vielen Fällen dann überhaupt nicht verwendet wird. Zwei Namen `Wurf` und `Weiter` werden nur definiert und dann überhaupt nicht verwendet. Das wäre Dir wahrscheinlich aufgefallen wenn das nicht alles am Anfang definiert worden wäre.
Einen Wert an einen Namen binden nur um in der nächsten Zeile einen anderen Wert an den gleichen Namen zu binden, macht keinen Sinn.
Die Werte von `Mannschaften` und `Personen` stimmen nicht. Die sind um 1 zu hoch. Statt einen zu hohen Wert an die Namen zu binden würde man die Anpassung für `range()` im `range()`-Aufruf machen und nicht die Werte verfälschen.
Die Anpassung ist aber auch total überflüssig, weil die Schleifenvariablen gar nicht verwendet werden, es bei dem `range()` also überhaupt nicht auf die gelieferten Werte ankommt, sondern nur auf die Anzahl. Da wäre ``range(Mannschaften)`` und ``range(Personen)`` mit den korrekten Anzahlen für diese Werte viel einfacher.
Als Namen an Stellen wo man syntaktisch einen Namen braucht, den Wert aber dann überhaupt nicht benutzt, hat sich `_` durchgesetzt. Dann weiss der Leser gleich bescheid, dass es kein Programmierfehler ist das `x` und `i` nirgends verwendet werden.
Defaultwerte gibt es damit man die nicht extra übergeben muss. Also zum Beispiel die Schrittweite von 1 bei `range()`.
Die Antwort auf die Frage nach der Tabelle ist jetzt auch noch nicht wirklich beantwortet. Beziehungsweise eher als Rätsel dessen Antwort vielleicht Tabellenkalkulationddatei ist. Vielleicht im XLSX-Format‽ Da gäbe es Beispielsweise das `openpyxl`-Package für.
`sys` wird importiert, aber nirgends verwendet.
Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Und nein, ein Programm ohne Funktionen mit 300 Zeilen Code der hauptsächlich durch kopieren und einfügen entstanden ist, ist nicht übersichtlich. Das will keiner lesen.
Man nummeriert keine Namen. Dann will man sich entweder bessere Namen überlegen, oder gar keine Einzelwerte sondern eine Datenstruktur verwenden. Oft eine Liste.
Man definiert Namen erst wenn man sie braucht und belegt die nicht alle am Anfang mit einem Wert der in vielen Fällen dann überhaupt nicht verwendet wird. Zwei Namen `Wurf` und `Weiter` werden nur definiert und dann überhaupt nicht verwendet. Das wäre Dir wahrscheinlich aufgefallen wenn das nicht alles am Anfang definiert worden wäre.
Einen Wert an einen Namen binden nur um in der nächsten Zeile einen anderen Wert an den gleichen Namen zu binden, macht keinen Sinn.
Die Werte von `Mannschaften` und `Personen` stimmen nicht. Die sind um 1 zu hoch. Statt einen zu hohen Wert an die Namen zu binden würde man die Anpassung für `range()` im `range()`-Aufruf machen und nicht die Werte verfälschen.
Die Anpassung ist aber auch total überflüssig, weil die Schleifenvariablen gar nicht verwendet werden, es bei dem `range()` also überhaupt nicht auf die gelieferten Werte ankommt, sondern nur auf die Anzahl. Da wäre ``range(Mannschaften)`` und ``range(Personen)`` mit den korrekten Anzahlen für diese Werte viel einfacher.
Als Namen an Stellen wo man syntaktisch einen Namen braucht, den Wert aber dann überhaupt nicht benutzt, hat sich `_` durchgesetzt. Dann weiss der Leser gleich bescheid, dass es kein Programmierfehler ist das `x` und `i` nirgends verwendet werden.
Defaultwerte gibt es damit man die nicht extra übergeben muss. Also zum Beispiel die Schrittweite von 1 bei `range()`.
Die Antwort auf die Frage nach der Tabelle ist jetzt auch noch nicht wirklich beantwortet. Beziehungsweise eher als Rätsel dessen Antwort vielleicht Tabellenkalkulationddatei ist. Vielleicht im XLSX-Format‽ Da gäbe es Beispielsweise das `openpyxl`-Package für.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Engerückt wird nicht mit Tabs, sondern mit 4 Leerzeichen pro Ebene.
`Dummy` ist für einen Variablennamen, der für einen bestimmten Wert steht, verwirrend.
Die vielen Codewiederholungen lassen sich durch einfache Schleifen ersetzen.
Die sleep-Aufrufe scheinen zuällig verteilt zu sein, können also weg.
Mit ein paar Funktionen zur Strukturierung sieht das dann ungefähr so aus:
An Deiner Stelle würde ich die Ergebnisse mit Hilfe des csv-Moduls in eine csv-Datei schreiben. Das ist am einfachsten.
`Dummy` ist für einen Variablennamen, der für einen bestimmten Wert steht, verwirrend.
Die vielen Codewiederholungen lassen sich durch einfache Schleifen ersetzen.
Die sleep-Aufrufe scheinen zuällig verteilt zu sein, können also weg.
Mit ein paar Funktionen zur Strukturierung sieht das dann ungefähr so aus:
Code: Alles auswählen
import smbus
import time
ADDRESSES = [0x1b, 0x1d, 0x1f, 0x09, 0x0b, 0x0d, 0x0f, 0x11, 0x13, 0x15, 0x17]
ADDRESS_TOTAL = 0x19
DISPLAY_EMPTY = 10
DISPLAY_SPECIAL = 101
def clear_display(bus):
print("Anzeigen werden gelöscht")
for address in ADDRESSES:
bus.write_byte(address, DISPLAY_EMPTY)
bus.write_byte(ADDRESS_TOTAL, DISPLAY_SPECIAL)
def enter_points(bus)
all_points = []
for nr, address in enumerate(ADDRESSES, 1):
points = int(input(f"Punkte für Wurf {nr} eingeben (für einen Pudel bitte 11):"))
if points > 9:
points = 0
all_points.append(points)
bus.write_byte(address, points)
bus.write_byte(ADDRESS_TOTAL, sum(all_points))
return all_points
def enter_invalid(bus, all_points):
wurfnummer = int(input("Bitte den ungültigen Wurf eingeben: ")) - 1
if 0 <= wurfnummer <= len(all_points):
all_points[wurfnummer] = 0
bus.write_byte(ADRESSES[wurfnummer], DISPLAY_EMPTY)
bus.write_byte(ADDRESS_TOTAL, sum(all_points))
def main():
bus = smbus.SMBus(1)
mannschaften = int(input("Wieviel Mannschaften sind heute gemeldet ?"))
for _ in range (mannschaften):
personen = int(input("Wieviel Personen sind in der Mannschaft ?"))
result_team = 0
for _ in range (personen):
clear_display(bus)
print("Nun gehts los")
all_points = enter_points(bus)
enter_invalid(bus, all_points)
result = sum(all_points)
print(f"Spieler hat {result} Punkte")
result_team += result
print(f"Die Manschaft hat {result_team} Punkte")
time.sleep(5)
if __name__ == "__main__":
main()