2016-05-13 3 views
1

これは私のコードです:ユーザー名ジェネレータの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) 

私はそれに取り組んできた、と私は、配列の中に生成された5つのユーザ名を作成する必要があります - しかし、私はそれを行う可能性がどのようにのように混乱しています誰も助けることができるだろうか?

助けてください!ありがとうございました。

+0

あなたのコードはどこですか? – gdlmx

+0

Plsは実際に使用するコードで質問を更新します。さもなければそれは誤解を招く。 – gdlmx

+0

@gdlmxがコードを更新しました! –

答えて

2

はあなたがループ内のコードをインデントする必要がforループLEN(SN)x = str(len(SN))

に= Xを変更してみてください。受け入れられる構文は4つのスペースです:

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

それはうまくいきました!ありがとうございました!あなたはそれを5回ループする方法を知っていますか?また、なぜstrを追加しましたか?具体的な理由はありますか?可能であれば、 –

+1

@ PennyHarvardについて説明してください。なぜなら、Pythonで文字列と整数を連結することができないからです。あなたの 'x'は整数であるため、文字列にキャストしなければなりません。それはstr()がすることです。あなたの文章で 'str()'を呼んでいますが、内側の括弧が最初に実行されるため、エラーが発生します。 –

+0

@PhilipFeldmannはそれを釘付けにした。 – Grr

関連する問題