Spiel programmieren?
Hab bisher folgendes: (entspricht aber leider nicht ganz der Aufgabenstellung...) ich weiß auch leider nicht mehr weiter. Kann mlr dabei bitte einer helfen? Bin voll verzweifelt.. Danke schonmal im voraus!
from random import *
e = input("Zahle einen Einsatz in CHF:")
Print ("Wuerfle zweimal.")
w1 = randint(1,6)
w2 = randint(1,6)
Print ("Du hast eine", w1, "und", w2, "geworfen.")
if w1 == w2 :
a = 3*e
else:
Print ("Wuerfle ein drittes Mal.")
w3 = randint(1,6)
Print("Du hast eine", w3, "geworfen.")
if w3 == w1 or w3 == w2 :
a = 1.5*e
else:
a=0
Print ("Du erhaelst CHF", a, "ausbezahlt.")
3 Antworten
tkinter klein schreiben (Zeile 3).
Nächstesmal einfach die Fehlermeldung, also in diesem Fall z.B. „ModuleNotFoundError: No module named 'Tkinter'“ bei Google eingeben, erster Link liefert direkt die Lösung.
Der macht halt was komplett anderes..
Musste halt ein bisschen umformen.
So wie er jetzt ist passt er natürlich nicht.
Weißt du, wie ich das machen muss, damit es die Aufgabenstellung erfüllt? Ich hab keine Ahnung..
if w1 == w2 :
a = 3*e
else:
msgDlg("Wuerfle ein drittes Mal.")
w3 = randint(1,6)
msgDlg("Du hast eine", w3, "geworfen.")
if w3 == w1 or w3 == w2 :
a = 1.5*e
else:
a = 0
msgDlg("Du erhaelst CHF", a, "ausbezahlt.")
Würde das auch klappen? Und wo liegt da der Fehler?
Meine das : also msgDlg sei nicht definiert
from random import *
e = input("Zahle einen Einsatz in CHF:")
msgDlg("Wuerfle zweimal.")
w1 = randint(1,6)
w2 = randint(1,6)
msgDlg("Du hast eine", w1, "und", w2, "geworfen.")
if w1 == w2 :
a = 3*e
else:
msgDlg("Wuerfle ein drittes Mal.")
w3 = randint(1,6)
msgDlg("Du hast eine", w3, "geworfen.")
if w3 == w1 or w3 == w2 :
a = 1.5*e
else:
a = 0
msgDlg("Du erhaelst CHF", a, "ausbezahlt.")
Hab noch nie von msgDlg gehört, geschweige denn es benutzt. Ist vermutlich veraltet/ gibt's nichtmehr, ansonsten kann ich mir nicht erklären warum es nicht defined sein sollte.
Benutzt stattdessen einfach print(), kommt aufs selbe raus.
Was passt denn mehr bei dieser Aufgabenstellung?
Ganz klar print. msgDlg würde ja soweit ich weiß immer ein Fenster öffnen wo die Nachricht drinnen steht... Wenn du es so willst, wie es bei dem Bild in der Fragestellung aussieht, dann nimm einfach print.
Nein ich meine, ob das was in der Fragestellung oder ,,mein Kommentar " Befehl (mit print anstatt msgDlg) besser zur Aufgabenstellung passt. Oder ist ,,mein Kommentar " Befehl und der Befehl in der frage vom Prinzip gleich?
Deine "Lösung" entspricht nur "nicht ganz", sondern überhaupt nicht der Aufgabenstellung. Das einzige, was sie mit der Aufgabenstellung zu tun hat, ist, dass da auch gewürfelt wird.
Wenn du in Deutsch über einen Zoobesuch schreiben sollst, erwartest du vermutlich auch keine gute Note, wenn du über das letzte Gassi-Gehen mit deinem Hund schreibst, nur weil da auch ein Tier vorkommt.
Damit das, was du hast, einigermaßen fehlerfrei funktioniert, musst du print klein schreiben.
Außerdem änderst du die zweite Zeile zu
e = int(input("Zahle einen Einsatz in CHF:"))
Dann hast du etwas. Aber von Kniffel ist das noch weit entfernt.
Es ist mMn nicht sinnvoll, nach den Antworten die Fragestellung zu ändern, so dass die Antworten plötzlich sinnfrei werden. In deiner Frage ist von tkinter weit und breit nichst zu sehen.
Ja das mit tkinter war so ähnlich, also auch wohl falsch. Und der jetzige befehl funktioniert ja, aber anscheindend, wie du sagst, nicht der Aufgabenstellung entsprechend. Könntest du mir bitte den 1. Wurf schreiben?
Sorry, aber das hat doch keinen Wert. Ich habe mir gerade deine andere Frage und die Antworten darauf angesehen. Deine Vorkenntnisse sind quasi Null. Du darfst nicht erwarten, dass jemand hier die Aufgabe für dich postet.
Ich mein, was schadet es dir, wenn du es mir sagst? - nichts. Ich werde die Rechnung anhand der noten tragen müssen
Das T bei Tkinter in Zeile 3 klein schreiben.
Geht das auch damit? Also das liefert mir auch einen Fehler
from random import *
e = input("Zahle einen Einsatz in CHF:")
msgDlg("Wuerfle zweimal.")
w1 = randint(1,6)
w2 = randint(1,6)
msgDlg("Du hast eine", w1, "und", w2, "geworfen.")
if w1 == w2 :
a = 3*e
else:
msgDlg("Wuerfle ein drittes Mal.")
w3 = randint(1,6)
msgDlg("Du hast eine", w3, "geworfen.")
if w3 == w1 or w3 == w2 :
a = 1.5*e
else:
a = 0
msgDlg("Du erhaelst CHF", a, "ausbezahlt.")
Leine Ahnung. Ich weiß nur was der Fehler bei deiner Hauptfrage ist.
Aber die Hauptfrage (Algorithmus) ist nicht passend zu Aufgabenstellung, oder? Weil bei mir wird zb nicht gefragt, ob man nochmal würfeln will.
Achso. Aber weißt du, wie ich das machen muss, damit es die Aufgabenstellung erfüllt? Ich hab keine Ahnung..
Weißt du vielleicht, wie man den 1. Wurf raus bekommt?
Aber dieser Algorithmus ist nicht passend zu Aufgabenstellung, oder? Weil bei mir wird zb nicht gefragt, ob man nochmal würfeln will.