Adressen generator?
Kennt ihr welche die fake adressen generieren?
2 Antworten
Schau mal hier
from random import randint
bundeslaender = open('./bundeslaender.txt', encoding="utf8")
bundesland = bundeslaender.readlines()[randint(0,len(bundeslaender.readlines()))].replace('\n', '')
strassen = open('./strassen.txt', encoding="utf8")
strasse = strassen.readlines()[randint(0,len(strassen.readlines()))].replace('\n', '').replace('"', '')
staedte = open('./staedte.txt', encoding="utf8")
stadt = staedte.readlines()[randint(0,len(staedte.readlines()))].replace('\n', '').replace('"', '')
hausnummer = randint(1,100)
i = randint(0,1)
if(i == 0):
zusatz = chr(randint(97,106))
adresse = bundesland + ', ' + stadt + ', ' + strasse + ' ' + str(hausnummer) + zusatz
else:
adresse = bundesland + ', ' + stadt + ', ' + strasse + ' ' + str(hausnummer)
print(adresse)
Hier das fertige Ding mit allen Dateien ;)
War ja auch kein "Is ja kagge..." sondern mehr ein "Hallo, ich bin der Nerd/Perfektionist." ^^
P.S.: Ich hätt noch n paar Ideen für Version 2.0:
- Name und Vorname
- E-Mail-Adresse
- Personalausweisnummer (Mindestalter: 18 Jahre)
- Name des ersten Haustiers
- Mädchenname der Mutter
Eine Anmerkung noch. Es muss
hausnummer = random.randint(1,100)
heißen.
Zudem kann man doch bei Zusatz einfach
zusatz = random.choice('abcdefghi')
machen, oder sehe ich das falsch. Würde ja eine ganzen import sparen.
Okay, das bei hausnummer hab ich übersehen. ^^;;
Aber bei zusatz ist's nicht ganz so einfach: Nicht jede Hausnummer (eher die wenigsten) hat (bzw. haben) einen Buchstaben mit drin.
Gut, man könnte die Liste auch als Literal schreiben (wär vermutlich sogar kürzer), aber ohne die Leerstrings wird das Ergebnis statistisch unplausibel (bzw. noch unplausibler ^^).
Die, die mit
['','',c]
in die Liste gepackt werden.
Das Resultat folgt dabei dem Muster "Leerstring, Leerstring, Buchstabe, Leerstring, Leerstring, Buchstabe, ..."
Wobei natürlich auch das ginge:
zusatz = ['',random.choice('abcdefghi')][int(random.randint(0,101)>95)]
Dabei wird mit einer Wahrscheinlichkeit von 5% einer von 9 Buchstaben ausgewählt.
Du meinst also als Komplette Straße mi Hausnummer dann Musterweg 10 a b???
WTF? Nein.
Bei meiner ersten Variante gibt es 9 Buchstaben und 18 Leerstrings.
Damit hat von 3 generierten Adressen statistisch betrachtet eine einen Buchstaben hinter der Hausnummer und zwei haben nur die Nummer.
Bei meiner zweiten Variante wird mit einer Wahrscheinlichkeit von 5% ein Buchstabe an die Hausnummer angehängt, ansonsten nur ein Leerstring.
Statistisch betrachtet also 19 ohne und eine mit Buchstabe je 20 generierten Adressen.
Dann hättest du aber Leerzeichen mit drin.
Gut, für die Darstellung ist das kein besonders großes (bzw. eigentlich gar kein) Problem, aber ich finds mit Leerstrings etwas "sauberer". ^^
Das wird nicht funktionieren. Ist im Grunde das gleiche Prinzip wie n*0.
Das lässt sich aber noch ein ganzes Stück optimieren: