Anfänger braucht einmal Hilfe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

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
mettalqueen
User
Beiträge: 44
Registriert: Dienstag 7. Mai 2013, 23:02
Wohnort: Greifswald

Hm niemand ein Tipp für mich?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
mettalqueen
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
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

mettalqueen hat geschrieben:An Galgenmännchen bin ich schon bei bin aber gescheitert.
Wo hakt es denn da?
Das Leben ist wie ein Tennisball.
Benutzeravatar
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.
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

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.
mettalqueen
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

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")
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

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.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
BlackJack

@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.
mettalqueen
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
BlackJack

@mettalqueen: `input()` in Python 3 entspricht `raw_input()` in Python 2. Das `input()` in Python 2 sollte man nicht verwenden.
Antworten