Guten Abend.
ich bin gerade dabei Python zu lernen. Dazu benutze ich dieses Buch http://www.amazon.de/Python-kinderleich ... se_p_img_2
Nun bin ich auf der Suche nach ein paar ideen um mein Wissen zu festigen (Habe nun glernt wie man Schleifen erstellt und so)
Nur alles was mir einfällt ist im mom noch zu schwer wie Snake, Pacman, etc
Anfänger braucht einmal Hilfe
-
- User
- Beiträge: 44
- Registriert: Dienstag 7. Mai 2013, 23:02
- Wohnort: Greifswald
-
- User
- Beiträge: 44
- Registriert: Dienstag 7. Mai 2013, 23:02
- Wohnort: Greifswald
Hm niemand ein Tipp für mich?
Hier im Forum gibt es schon einige Threads dazu. Es bieten sich natürlich immer so einfache Sachen wie Zahlenraten oder Galgenmännchen an. Das kann problemlos textbasiert umgesetzt werden.
Das Leben ist wie ein Tennisball.
-
- User
- Beiträge: 44
- Registriert: Dienstag 7. Mai 2013, 23:02
- Wohnort: Greifswald
An Galgenmännchen bin ich schon bei bin aber gescheitert.
Im Forum habe ich natürlich auch gesucht, aber nichts passendes gefunden und Mathespiele interessieren mich so absolut garnicht
Im Forum habe ich natürlich auch gesucht, aber nichts passendes gefunden und Mathespiele interessieren mich so absolut garnicht
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Um das mal aufzugreifen: Warum beschreibst du denn nicht deine bisherigen Probleme?
Programmieren ist kein Rollenspiel bei dem man Probleme erst nach einer bestimmten Zeit loesen kann. Wenn du an einem Problem scheiterst, weil du ein Konzept nicht ganz verstehst, wird es dir auch nicht helfen andere Probleme zu loesen.
Programmieren ist kein Rollenspiel bei dem man Probleme erst nach einer bestimmten Zeit loesen kann. Wenn du an einem Problem scheiterst, weil du ein Konzept nicht ganz verstehst, wird es dir auch nicht helfen andere Probleme zu loesen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Hast du mal überlegt es beruflich einzusetzen? Ich muss viel Listen verarbeiten, d. h. Textdateien laden und dann von dort die Daten in einer anderen Formatierung ausgeben. Ansonsten google mal "Programmieraufgaben", du findest dann einige Sachen.
Ich habe früher diese Seite ganz interessant gefunden und die dortigen Programmieraufgaben einfach in Python umgesetzt.
Ich habe früher diese Seite ganz interessant gefunden und die dortigen Programmieraufgaben einfach in Python umgesetzt.
-
- User
- Beiträge: 44
- Registriert: Dienstag 7. Mai 2013, 23:02
- Wohnort: Greifswald
Wie ich es in meinem Beruf als Erzieherin einbauen kann habe ich keinen schimmer. Ausser Bilder bearbeiten und was zum basteln raussuchen brauche ich den pc für die Arbeit nicht.
Mein Code für Hangman sieht zur zeit so aus. Nun weiß ich aber nicht wie ich es machen kann, das ich auch noch die anderen Buchstaben abfragen kann
Mein Code für Hangman sieht zur zeit so aus. Nun weiß ich aber nicht wie ich es machen kann, das ich auch noch die anderen Buchstaben abfragen kann
Code: Alles auswählen
print("Willkommen beim Spiel Hangman")
WortEins = ('Apfel')
print("Bitte gebe für den Buchstaben die entsprechende Zahl ein")
print('''A1 B2 C3 D3 E4 F5 G6 H7 I8 J9 K10 L11 M12 N13 O14 P15
Q16 R17 S18 T19 U20 V21 W22 X23 Y24 Z25''')
x = input()
if x == 1 :
print("Richtig A _ _ _ _")
elif x == 15:
print("Richtig _ P _ _ _")
elif x == 5:
print("Richtig _ _ F _ _")
elif x == 4:
print("Richtig _ _ _ E _")
elif x == 11:
print("Richtig _ _ _ _ L")
else:
print("Falsch")
Der Ansatz geht schief warum, lass mich ausholen.
Nach dem EVA-Prinzip muss du Eingabe, Verarbeitung und Ausgabe sauber trennen.
Die Eingabe wäre in einer Schleife, die die Eingaben liest und Fälle kennt die zum Abbruch führen, ob nun alle Buchstaben erraten, keine mehr übrig oder zuviele Versuche.
Darauf aufbauend müsste in der Verarbeitung irgendwo das Wort stehen, wie auch die Buchstaben die bereits Verwendung fanden.
Abschließend könnte man das Wort zeichenweise durchgehen und entscheiden ob nun das Zeichen ausgegeben werden darf oder nicht.
Der Galgen kann anhand der gesammelten Eingaben vielleicht so gezeichnt werden, geht aber sich eleganter.
Nach dem EVA-Prinzip muss du Eingabe, Verarbeitung und Ausgabe sauber trennen.
Die Eingabe wäre in einer Schleife, die die Eingaben liest und Fälle kennt die zum Abbruch führen, ob nun alle Buchstaben erraten, keine mehr übrig oder zuviele Versuche.
Darauf aufbauend müsste in der Verarbeitung irgendwo das Wort stehen, wie auch die Buchstaben die bereits Verwendung fanden.
Abschließend könnte man das Wort zeichenweise durchgehen und entscheiden ob nun das Zeichen ausgegeben werden darf oder nicht.
Der Galgen kann anhand der gesammelten Eingaben vielleicht so gezeichnt werden, geht aber sich eleganter.
@mettalqueen: Der Quelltext ist bezüglich der Python-Version etwas verwirrend. Die Klammern beim `print` deuten auf Python 3 hin, dass Du das Ergebnis von `input()` mit Zahlen vergleichst allerdings auf Python 2.
Das die 26 Buchstaben mit 1 anfangen aber mit 25 aufhören kommt nicht so ganz hin. Ein Grund warum man so etwas nicht eintippen sollte, weder die Buchstaben noch die Zahlen, sondern vom Rechner erstellen lassen sollte. Das `string`-Modul enthält zum Beispiel das Alphabet als Zeichenkette. Mit der `eunumerate()`-Funktion kann man sich dazu die Zahlen generieren lassen, und mit einer Schleife oder einem Generatorausdruck kann man dann die Teilzeichenketten erstellen, die man dann mit der `join()`-Methode auf Zeichenketten zusammensetzen kann.
`WortEins` wird definiert, mit unnötigen Klammern um den Wert, aber überhaupt nicht verwendet.
Grundsätzlich zerlegt man beim Programmieren das Problem welches man lösen möchte in immer kleinere Teilprobleme die man dann mit Hilfe von Funktionen und Methoden löst und aus den kleineren Teillösungen dann grössere Teillösungen zusammensetzt, bis man das gesamte Problem gelöst hat. Und man muss sich auch um die Datenstrukturen Gedanken machen die man verwenden möchte. Für jeden Möglichen Zustand den ein Programm einnehmen kann einen Code-Zweig zu schreiben ist keine Lösung. Das würden hier Unmengen an Code werden, und das nur um ein festes Wort, ”Apfel”, raten zu lassen. Nun überleg mal wie bei diesem Ansatz der Code zu ”Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz” aussehen müsste. Aber eigentlich möchte man ja Code schreiben der unabhängig vom konkreten Wort ist, damit das aus einer Datendatei oder vom Anwender kommen kann.
Das die 26 Buchstaben mit 1 anfangen aber mit 25 aufhören kommt nicht so ganz hin. Ein Grund warum man so etwas nicht eintippen sollte, weder die Buchstaben noch die Zahlen, sondern vom Rechner erstellen lassen sollte. Das `string`-Modul enthält zum Beispiel das Alphabet als Zeichenkette. Mit der `eunumerate()`-Funktion kann man sich dazu die Zahlen generieren lassen, und mit einer Schleife oder einem Generatorausdruck kann man dann die Teilzeichenketten erstellen, die man dann mit der `join()`-Methode auf Zeichenketten zusammensetzen kann.
`WortEins` wird definiert, mit unnötigen Klammern um den Wert, aber überhaupt nicht verwendet.
Grundsätzlich zerlegt man beim Programmieren das Problem welches man lösen möchte in immer kleinere Teilprobleme die man dann mit Hilfe von Funktionen und Methoden löst und aus den kleineren Teillösungen dann grössere Teillösungen zusammensetzt, bis man das gesamte Problem gelöst hat. Und man muss sich auch um die Datenstrukturen Gedanken machen die man verwenden möchte. Für jeden Möglichen Zustand den ein Programm einnehmen kann einen Code-Zweig zu schreiben ist keine Lösung. Das würden hier Unmengen an Code werden, und das nur um ein festes Wort, ”Apfel”, raten zu lassen. Nun überleg mal wie bei diesem Ansatz der Code zu ”Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz” aussehen müsste. Aber eigentlich möchte man ja Code schreiben der unabhängig vom konkreten Wort ist, damit das aus einer Datendatei oder vom Anwender kommen kann.
-
- User
- Beiträge: 44
- Registriert: Dienstag 7. Mai 2013, 23:02
- Wohnort: Greifswald
Ah ok danke. Im mom finde ich alles ein bisschen verwirrend was ihr da geschrieben habt. Python3 wird von meinem einen Buch benutzt und Python 2 was ich mit dem Input benutzt habe, weil Input in meinem Buch so nicht behandelt wird
@mettalqueen: `input()` in Python 3 entspricht `raw_input()` in Python 2. Das `input()` in Python 2 sollte man nicht verwenden.