Dies ist leicht mit einer While-Schleife und Python random
und string
Bibliotheken erreicht.
Code:
import random
import string
def create():
_string, counter = "", 0
while counter < 12:
choice = random.choice(string.ascii_letters + string.digits)
if choice not in _string:
_string += choice
counter += 1
else:
pass
return _string
print(create())
Ausgang:
YWdTocQs0R4X
Was es tut:
- Variablen anlegen
_string
und counter
.
- eine while-Schleife starten, die die Bedingung bricht nach
counter < 12
falsch wird. (Es gibt einen Grund für eine while
Schleife über eine for
Schleife hier, dass ich später erklären wird)
- Verwendet zufällige Bibliothek Python eine Zufallszahl finden/Brief (Groß- und Kleinbuchstaben).
- Prüft, ob die Auswahl bereits in der Zeichenfolge vorhanden ist. Ist dies nicht der Fall, wird die Auswahl zur Zeichenfolge hinzugefügt. Aber wenn es passiert nichts, und die Schleife beginnt wieder über (Warum ich eine
while
Schleife über eine for
Schleife verwendet
- die Zeichenfolge zurück
. Hinweis:! Wenn Sie mit Dubletten innerhalb der ok String diese Einzeiler arbeitet wesentlich effizienter.
print(''.join(random.choice(string.letters + string.digits) for _ in range(12)))
was hindert Sie diese Texte selbst zu schreiben? –
Klingt wie ein Job für [uUID] (https://docs.python.org/3.5/library/uuid.html), aber was hast du probiert? – ChrisP
@MitchWheat Ich habe bereits versucht, dafür zu kodieren, aber es ist doppelt während der 500K + Generation. – user3789802