Seite 1 von 1

Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 19:24
von Vinz12
Hallo,

ich bin sehr unerfahren was Programmieren angeht und habe mich nach ein paar Videos mal an einem Art Zahlen-/Buchstabengenerator versucht:

Code: Alles auswählen

from random import shuffle

liste = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Ä Ö Ü ẞ \
        a b c d e f g h i j k l m n o p q r s t u v w x y z ä ö ü ß \
        1 2 3 4 5 6 7 8 9 0 \
        ° ^ ! " "§" "$" "%" "&" "/" "{" "}" "(" ")" "[" "]" "=" "?" "\" ` ´ + * ~ # ' , ; . : - _ < > | ".upper().split()
shuffle(liste)

for länge in range(2):
            el1=liste.pop()
            print("{}".format(el1))
Mein Problem ist jetzt, dass wenn ich diesen Code ausführe, die Buchstaben/Zahlen in mehreren Zeilen ausgegeben werden und nicht in einer. Woran liegt das?

Danke im Vorraus,
Vinz

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 20:23
von sparrow
Weil "print" immer eine Zeile ausgibt.

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 20:25
von Vinz12
sparrow hat geschrieben: Donnerstag 7. März 2019, 20:23 Weil "print" immer eine Zeile ausgibt.
und wie könnte ich das in einer Zeile ausgeben?

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 20:48
von sls
Was genau hast du denn vor? Du hast einen String der durch split() zu einer Liste mit einzelnen Elementen wird. Mit pop() entfernst du immer ein Element dieser Liste und weist es einer Variablen zu, die du im Anschluss ausgibst. Ich vermute, du möchtest den String durchmischen und wieder so ausgeben? Dann musst du aus der Liste wieder einen String machen, den du dann printen kannst.

Machen kannst du das mit " ".join(liste)

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 21:42
von __blackjack__
@Vinz12: Brauchst Du danach `liste` noch? Falls nicht, sieht mir das eher nach einem Fall für `random.sample()` aus.

Und Dir ist klar, das die Wahrscheinlichkeit für Buchstaben höher ist, weil die effektiv alle zweimal vorkommen‽ Und es können natürlich auch zwei gleiche Buchstaben als Ergebnis heraus kommen. Soll das so?

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 23:13
von ThomasL
versuchs mal mit

Code: Alles auswählen

print(f"{el1}", end="")

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Donnerstag 7. März 2019, 23:56
von Vinz12
ThomasL hat geschrieben: Donnerstag 7. März 2019, 23:13 versuchs mal mit

Code: Alles auswählen

print(f"{el1}", end="")
Vielen Dank, das hat funktioniert ^^

Re: Print schreibt nur in mehreren Zeilen

Verfasst: Freitag 8. März 2019, 00:29
von __blackjack__
Das formatieren von Zeichenketten als genau die gleiche Zeichenkette macht allerdings wenig Sinn.