Schon seit langer Zeit versuche ich das programmieren zu erlernen. Seit einigen Monaten habe ich jetzt Python entdeckt und versuche es zu erlernen.
Ich habe bereits einige Tutorials durchgearbeitet, am besten davon fand ich noch "A byte of Python".
Jetzt weiss ich zwar wie man Module importiert, was Schleifen sind. Dictionaries, Tubel und Listen sind mir auch ein Begriff genauso wie all die anderen Grundlegenden Sachen die in den Tutorials behandelt werden.
Aber programmieren kann ich immer noch nicht!
Woran liegt das aber? Nun, ich habe bemerkt, dass die meisten Turotials zwar alle diese Dinge wie Schleifen usw gut erklären aber kein Tutorial bringt einem wirklich programmieren bei.
Ich saß also lange Zeit herum und überlegte wie ich mein erlerntes Wissen nun anwenden kann und dabei bin ich dann auf ein Forum mit Programmieraufgaben gestoßen:
http://www.hackerboard.de/board.php?boardid=46
Ich habe mir dort eine Aufgabe für Anfänger raussucht die folgendermaßen lautet:
Zwei Spieler sitzen sich gegenüber, in diesem Fall ist einer der PC. Es gibt einen Revolver mit sechs Kugelschächten (ich weiß nicht wie man das wirklich nennt). In einem der sechs Schächte befindet sich eine Kugel. Der Revolver wird nun immer ausgetauscht. Wenn man den Revolver bekommt, kann man entweder sofort schießen (natürlich auf sich selbst *g*) oder man dreht das Magazin einmal durch und schießt dann. Natürlich weiß man im Moment des "Abdrückens" nicht, ob sich im aktuellen Schacht nun eine Kugel befindet oder nicht. Das geht dann also solang bis einer nicht mehr lebt. Der hat dann auch verloren.
Daraufhin habe ich überlegt und überlegt aber bis auf die Idee, dass man dort das Modul random importieren muss ist mir nicht mal die Lösung dieser total simplen Aufgabe gelungen.
Daraufhin habe ich mal geschaut wie man das den mit Python lösen könnte und habe folgendes gefunden:
Code: Alles auswählen
import random
def play(kugelnr,wer,start):
if wer:
print "abdruecken a neudrehen d "
auswahl=raw_input()
if auswahl=="d":
print "du drehst neu"
start=1
kugelnr=random.randint(1, 6)
print "du drueckst ab"
if kugelnr == 6:
print "dumm gelaufen, du hast dein Kopf verloren\n"
else:
print "glueckspilz, computer du bist dran\n"
play(kugelnr+1,0,start+1)
else:
if start > 4:
print "der Computer kann zaehlen er dreht neu"
start=1
kugelnr=random.randint(1, 6)
print "der Computer drueckt ab"
if kugelnr==6:
print "dumm gelaufen fuer den Computer\n"
else:
print "glueck gehabt, du bist dran\n"
play(kugelnr+1,1,start+1)
if __name__ == '__main__':
print "wer faengt an Computer 0 oder du 1"
wer=raw_input()
play(random.randint(1, 6),int(wer),1)
Ihr merkt also mein Problem ist nicht gerade die Syntax oder ähnliches sondern das logische Denken mit dem man an solche Probleme herangeht.
Übrigens: dieses
Code: Alles auswählen
if __name__ == '__main__':
...
Und kann es tatsächlich sein, dass ich einfach zu dumm bin zum progranmieren oder irgendwas einfach nicht richtig durchblicke?
Gruß
hannibalbarkas