2016-05-13 10 views
1

Dies ist mein Code:Benutzername Generator Python

from random import randint 
for i in range(5): 
    FN = (input("What is your name?")) 
    firstletter = FN[:1] 
    SN = [] 
    first3letters = SN[:3] 
    x = str(len(SN)) 
    sentence = str(randint(0,9))+(first3letters.lower())+(firstletter.upper()+(x)) 
    print(sentence) 

Ich habe daran zu arbeiten, und ich brauche die 5-Benutzernamen in einem Array erzeugt zu machen - aber ich bin verwirrt, wie ich es tun konnte Könnte jemand helfen?

Bitte helfen! Vielen Dank.

+0

wo ist Ihr Code für das Schleifen? – gdlmx

+0

Bitte aktualisieren Sie Ihre Frage mit dem Code, den Sie tatsächlich verwenden. Ansonsten ist es irreführend. – gdlmx

+0

@gdlmx haben den Code aktualisiert! –

Antwort

2

try Wechsel x = len (SN) zu x = str(len(SN))

für die Schleife müssen Sie den Code innerhalb der Schleife einrücken. akzeptiert Syntax ist vier Leerzeichen so:

from random import randint 

sentences = [] 
for i in range(5): 
    FN = (input("What is your name?")) 
    firstletter = FN[:1] 
    SN = [] 
    SN = (input("What is your last name?")) 
    first3letters = SN[:3] 
    x = str(len(SN)) 

    sentence = str(randint(0,9))+(first3letters.lower())+(firstletter.upper()+x) 
    print(sentence) 
    sentences.append(sentence) 
+0

Das hat funktioniert! Vielen Dank! Würdest du wissen, wie man es 5 mal wiederholt? Auch warum hast du str hinzugefügt? Gibt es einen bestimmten Grund? Bitte erläutern Sie, wenn möglich, –

+1

@PennyHarvard, weil Sie Strings und Integer in Python nicht verketten können. Dein 'x' wird eine ganze Zahl sein, und deshalb musst du es in eine Zeichenkette umwandeln, das ist str(). Sie rufen 'str()' auf Ihrem Satz auf, aber die inneren Klammern werden zuerst ausgeführt, deshalb erhalten Sie einen Fehler. –

+0

@PhilipFeldmann hat es genagelt. – Grr