Leerzeichen

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
toper
User
Beiträge: 73
Registriert: Freitag 13. April 2018, 14:37

Hallo.

Ich hab mal ein bisschen mit intertools gearbeitet und ein programm geschrieben, dass eine zeichenfolge herausfindet.

Code: Alles auswählen

d = product('ab', repeat=2)
for i in d:
          a = list(i)
print(a)
Er gibt also ab und ba aus.
Meine Frage:
Gibt es eine möglichkeit dass er auch leerzeichen also a b oder b a augibt?
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Code: Alles auswählen

print(" ".join(liste_von_strings))
sollte helfen.
toper
User
Beiträge: 73
Registriert: Freitag 13. April 2018, 14:37

Ich habe es jetzt mal so probiert:
d = product(" ".join('ab', repeat=2)

aber es kommt nur eine Fehlermeldung
nezzcarth
User
Beiträge: 1633
Registriert: Samstag 16. April 2011, 12:47

Ja, natürlich kommt da eine Fehlermeldung. Und die sollte eigentlich relativ verständlich sein. (Schau dir doch mal deine Klammern an... ) :)
toper
User
Beiträge: 73
Registriert: Freitag 13. April 2018, 14:37

Ohh hab den Fehler gefunden.

Noch eine Frage:
Wenn ich in die liste 3 Buchtaben einstze kommt als ausgabe:
['a', 'a']
['a', ' ']
['a', 'b']
['a', ' ']
['a', 'c']
[' ', 'a']
[' ', ' ']
[' ', 'b']
[' ', ' ']
[' ', 'c']
['b', 'a']
['b', ' ']
['b', 'b']
['b', ' ']
['b', 'c']
[' ', 'a']
[' ', ' ']
[' ', 'b']
[' ', ' ']
[' ', 'c']
['c', 'a']
['c', ' ']
['c', 'b']
['c', ' ']
['c', 'c']

Ist es irgendwie möglich dass er nicht a _ b _ c... macht sondern das leerzeichen genau wie die anderen buchstaben nur einmal also a b c _ ...?
nezzcarth
User
Beiträge: 1633
Registriert: Samstag 16. April 2011, 12:47

In deinem String sind zwei Leerzeichen enthalten, wenn du 3 Buchstaben mit ' '.join vereinigst. Das kannst du z.B. überprüfen, indem du dir den String, der dabei entsteht, mal ausgeben lässt. Wenn du nur ein Leerzeichen haben möchtest, darf im String nur ein Leerzeichen sein, d.h. 'join' ist in dem Fall falsch. Schreib den String doch einfach so hin.
toper
User
Beiträge: 73
Registriert: Freitag 13. April 2018, 14:37

Also gibt es da keine möglichkeit?
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@toper: doch die einfachste:

Code: Alles auswählen

"abc "
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

@toper: du sollst nicht den *GESAMTEN* Ausdruck mit dem product einfach joinen. Sondern jedes einzelne Element. Also innerhalb der for-Schleife.
Antworten