2016-05-13 3 views
-1
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 имен пользователей, которые генерируются с помощью этого кода. Как мне это сделать?Как добавить массив к этому?

+1

'SN = []' и 'first3letters = SN [: 3]', вы уверены? – SparkAndShine

+0

Думаю, что так? Есть ли ошибка? @sparkandshine –

+1

если это так, 'first2letters' всегда равно' [] '. Это ваша желаемая ситуация? – SparkAndShine

ответ

1

Конвертировать firstletter и first3letters в строку перед использованием lower() и upper().

from random import randint 
for i in range(2): 
    FN = input("What is your name? ") 
    firstletter = ''.join(FN[:1]) 

    SN = 'bMwGermany' 
    first3letters = ''.join(SN[:3]) 
    x = str(len(SN)) 

    # sentence = str(randint(0,9))+(first3letters.lower())+(firstletter.upper()+(x)) 
    sentence = ''.join([str(randint(0, 9)), first3letters.lower(), firstletter.upper(), x]) 
    print(sentence) 

# Test 
$ python3 stackoverflow.py 
What is your name? hello 
1bmwH8 
What is your name? world 
9bmwW8 

Обратите внимание, что для python2, используйте raw_input вместо input. Обратитесь к Python input() error - NameError: name '…' is not defined за подробным описанием.

+0

Это не работает @sparkandshine:/ –

+1

@PennyHarvard, что значит u означает «не работает»? Логическая ошибка или ...? – SparkAndShine

+0

@PennyHarvard, я добавил тестовый пример. – SparkAndShine

Смежные вопросы