2016-05-13 53 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

請用您實際使用的代碼更新您的問題。否則,這是誤導。 – gdlmx

+0

@gdlmx更新了代碼! –

回答

2

嘗試改變X = LEN(SN),以x = str(len(SN))

的循環中,您需要在循環內縮進代碼。接受的語法是四個空格如此:

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