Python :: Aufgabe #184

4 Lösungen Lösungen öffentlich

Einfacher Namensgenerator

Anfänger - Python von Exception - 30.05.2018 um 15:23 Uhr
Schreibe ein Programm, welches zwei Textdateien (zb Vorname.txt, Nachname.txt) Zeile für Zeile in ein Array lädt.
Gebe dann eine zufällige Kombination aus Vornamen und Nachnamen aus.

Lösungen:

vote_ok
von Xtraordinary (60 Punkte) - 06.06.2018 um 17:56 Uhr
Einfache Funktion falls Namen im txt File mit einem Leerzeichen getrennt sind.
Quellcode ausblenden Python-Code

from random import randint
#Einlesen der Daten
vornamen_file = open('Vorname.txt')
vornamen_liste = vornamen_file.read().split()

nachnamen_file = open('Nachname.txt')
nachnamen_liste = nachnamen_file.read().split()

#Prüfung ob eine der Listen leer ist, wenn nein printe zufällige Namenskombination.
if len(nachnamen_liste) != 0 and len(vornamen_liste) != 0:
    rand_vorname = randint(0, len(vornamen_liste)-1)
    rand_nachname = randint(0, len(nachnamen_liste)-1)
    print(vornamen_liste[rand_vorname] , nachnamen_liste[rand_nachname] )
else:
    print("Keine Vornamen oder Nachnamen vorhanden")

vote_ok
von Gisbert5020 (830 Punkte) - 09.08.2018 um 15:51 Uhr
Quellcode ausblenden Python-Code
# -*- coding: utf-8 -*-
# Python 3.7

import random

def listerz(datei):
    d = open(datei)
    liste=[]
    for zeile in d:
        liste.append(zeile.rstrip("\n"))
    d.close()
    return liste

lvornam = listerz("Vorname.txt")
lnachnam = listerz("Nachname.txt")
random.shuffle(lvornam)
random.shuffle(lnachnam)
v=len(lvornam)
n=len(lnachnam)
x=v
if v>n:
    x=n
for i in range(x-1):
    print(lvornam[i],lnachnam[i])
vote_ok
von scar77 (110 Punkte) - 25.08.2018 um 14:49 Uhr
Quellcode ausblenden Python-Code
import random as r

vor_txt = open("vorname.txt")
nach_txt = open("nachname.txt")

vornamen = vor_txt.read().split("\n")

nachnamen = nach_txt.read().split("\n")

print(r.choice(vornamen) + " " + r.choice(nachnamen))
vote_ok
von tebarius (470 Punkte) - 27.08.2018 um 13:59 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
import random
random.seed()

vornamen=[]
vorfile = open("vornamen.txt", "r")
for line in vorfile:
    vornamen.append(line.strip(" \t\n\r"))
vorfile.close
nachnamen=[]
nachfile = open("nachnamen.txt", "r")
for line in nachfile:
    nachnamen.append(line.strip(" \t\n\r"))
nachfile.close

anz=int(input("Wieviele Namen sollen generiert werden?"))
for i in range(anz):
    vor=vornamen[random.randint(0,len(vornamen)-1)]
    nach=nachnamen[random.randint(0,len(nachnamen)-1)]
    print(vor+" "+nach)