Hallo Leute,
ich habe folgenden algorithm aus dem internet kopiert der aa, ba, ca, da ... zählen soll.
leider funktioniert dieser algorithm nur für 3 stellen, ich brauche aber die möglichkeit die stellen einzustellen (2-8)
wie müsste ich den code erweitern?
code: http://pastebin.com/Q9xfkxf4
buchstaben-hochzähl-algorithm erweitern
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
EyDu:
ohoh ihr erwartet nicht das ich die schule beendet habe usw. ? oder ?
ich bin 10 Klasse den Rekursions Scheiß versteh ich nicht.
Sirius3:
nein ich habe es nicht versucht, du musst wissen das ich diese schleife selber nicht verstehe. ich verstehe nur das sie sich immer wieder von selbst aufruft, was heißt das sie unendlich läuft,
da sie nur 3 stellen darstellen kann fängt sie wieder bei 2 an und macht das ganze nochmal. Warum das passiert und wie weiß ich nicht. Also habe ich keine Ahnung wo ich das Modulo oder die for-schleife anbringen soll.
ohoh ihr erwartet nicht das ich die schule beendet habe usw. ? oder ?
ich bin 10 Klasse den Rekursions Scheiß versteh ich nicht.
Sirius3:
nein ich habe es nicht versucht, du musst wissen das ich diese schleife selber nicht verstehe. ich verstehe nur das sie sich immer wieder von selbst aufruft, was heißt das sie unendlich läuft,
da sie nur 3 stellen darstellen kann fängt sie wieder bei 2 an und macht das ganze nochmal. Warum das passiert und wie weiß ich nicht. Also habe ich keine Ahnung wo ich das Modulo oder die for-schleife anbringen soll.
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
Gut,
Fragen wir nochmal anders,
was bedeutet diese Zeile:
und was bedeutet diese Zeile:
Fragen wir nochmal anders,
was bedeutet diese Zeile:
Code: Alles auswählen
a = [i for i in letters]
Code: Alles auswählen
a = [x+i for i in letters for x in a]
Zuletzt geändert von Anonymous am Donnerstag 16. Oktober 2014, 15:59, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Grund: Quelltext in Python-Code-Tags gesetzt.
Das sind List Comprehensions. Welches Tutorial oder Buch verwendest Du denn um Python zu lernen?
Edit: Wobei die erste eher unsinnig ist, da könnte man auch einfach ``a = list(letters)`` für schreiben.
Edit: Wobei die erste eher unsinnig ist, da könnte man auch einfach ``a = list(letters)`` für schreiben.
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
ich habe mal vor 3 Jahren einen Python Kurs belegt, damals war ich 12.
momentan habe ich neben mir eine "Python Gepackt (http://www.amazon.de/Python-GEPACKT-Mic ... 3826607244)" aber ich glaube da kommen
List Comperehensions nur kurz vor und vor allem nicht so kompliziert nur so was wie unten. (ich habe es eher als Nachschlagewerk und habe nur bis Kapitel 4 gelesen weil ich keine zeit hatte)
Was Comprehensions sind weiß ich (Aus dem Buch) man schreibst z.b.
Die liste besteht dann aus allen Buchstaben.
ich habe dies hier versucht: (um es zu verstehen)
aber ich kriege eine fehlermeldung. warum?
sie lautet:
can't assign to opperator.
was das bedeutet muss ich nicht fragen, ich versteh nur nicht wo ich versucht habe einem Operator etwas zuzuweisen.
momentan habe ich neben mir eine "Python Gepackt (http://www.amazon.de/Python-GEPACKT-Mic ... 3826607244)" aber ich glaube da kommen
List Comperehensions nur kurz vor und vor allem nicht so kompliziert nur so was wie unten. (ich habe es eher als Nachschlagewerk und habe nur bis Kapitel 4 gelesen weil ich keine zeit hatte)
Was Comprehensions sind weiß ich (Aus dem Buch) man schreibst z.b.
Code: Alles auswählen
a = [x in letters]
ich habe dies hier versucht: (um es zu verstehen)
Code: Alles auswählen
letters = list("123456")
a = [x+i for i in letters for y+x in letters for y in letters]
sie lautet:
can't assign to opperator.
was das bedeutet muss ich nicht fragen, ich versteh nur nicht wo ich versucht habe einem Operator etwas zuzuweisen.
@HVTransformator: Zwischen ``for`` und ``in`` muss etwas stehen dem man einen Wert zuweisen kann. Und einer Addition kann man nichts zuweisen:
Code: Alles auswählen
In [5]: x + y = 42
File "<ipython-input-5-1c816ec557a2>", line 1
x + y = 42
SyntaxError: can't assign to operator
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
hmm...
aus deiner antwort würde ich denn schluss ziehen dass das hier richtig ist,
aber ein syntax error bei "y+x"
jetzt bin ich komplett verwirtt
Code: Alles auswählen
a = [x+i for i in letters y+x for x in letters for y in letters]
aber ein syntax error bei "y+x"
jetzt bin ich komplett verwirtt
@HVTransformator: Naja da steht ``letters`` nur durch ein Leerzeichen getrennt vor ``y+x``. Was soll das denn bedeuten? Das macht keinen Sinn.
Vielleicht solltest Du nicht versuchen zu viel in eine LC zu packen.
Vielleicht solltest Du nicht versuchen zu viel in eine LC zu packen.
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
LC meint line oder so. oder?
wie kann ich das ganze den in 2 Zeilen packen?
es soll bedeuten, das das ganze nicht nur 2 mal durchgeführt wird, sondern 3 mal.
nochmal aufs stichwort rekursion zurück, ich seh da nichts sich sebst aufrufendes.
wie kann ich das ganze den in 2 Zeilen packen?
es soll bedeuten, das das ganze nicht nur 2 mal durchgeführt wird, sondern 3 mal.
nochmal aufs stichwort rekursion zurück, ich seh da nichts sich sebst aufrufendes.
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
ich habe ein bisschen gesucht und nichts gefunden was das ganze ohne LCs löst, und nicht 50 Zeilen hat.
übrigens habe ich das ganze mal ohne mein Login laufen gelassen und dann geht es sehr wohl über 3 stellen hinaus.
ist der aufruf:
falsch?
übrigens habe ich das ganze mal ohne mein Login laufen gelassen und dann geht es sehr wohl über 3 stellen hinaus.
ist der aufruf:
Code: Alles auswählen
for password in a:
login(password)
-
- User
- Beiträge: 12
- Registriert: Mittwoch 15. Oktober 2014, 15:17
oh gott ich hasse mich.
nur weil ich einen code mit dem modul itertools gefunden habe der 50 zeilen lang ist,
sollte man nicht alle von der suche ausschließen.
nur weil ich einen code mit dem modul itertools gefunden habe der 50 zeilen lang ist,
sollte man nicht alle von der suche ausschließen.