Python用户名生成器

时间:2016-05-13 12:32:52

标签: python python-3.x username

以下是我的代码:

string1 = (input("What is your name?")) #creates a string, stores the name in it
first1 = string1[:1]

string2 = (input("What is your last name?"))
first3 = string2[:3]

from random import randint
sentence = "".join((str(randint(0,9)), first1.lower(), first3.upper()))
print (sentence)
sentence = "".join((str(randint(0,9)), first1.lower(), first3.upper()))
print (sentence)

它有效,但我遇到了一些麻烦。我需要循环5次 - 但由于某种原因它不起作用!

P.S。 Python 3!

2 个答案:

答案 0 :(得分:2)

您正在创建一个tuple被调用的句子,而不是string

如果您将该行更改为:

sentence = "".join((str(randint(0,9)), first1.lower(), first3.upper()))

它将创建一个没有间隙的字符串,如下所示:

What is your name?First
What is your last name?Last
5fLAS

答案 1 :(得分:0)

您正在创建一个列表,而不是一个字符串,因此在尝试打印时出现问题似乎是合乎逻辑的......

要附加到字符串,您可以这样做:

sentence = str(randint(0,9))+(first1.lower())+(first3.upper())

在Python中,您没有为变量赋予类型,它取决于您放入INTO的内容。 在Python中,括号“()”之间的元素被视为TUPLE(类似于列表的类型,但无法修改),“[]”代表列表,“{}”代表字典。所以你必须不要在括号之间放置字符串的部分并用逗号分隔,否则你会将它们变成单词列表。相反,您可以使用“+”表示您正在进行字符串连接。另请注意,我将随机数转换为字符串。如果给3个用“+”分隔的字符串,Python会自动将句子检测为字符串。你已经创建了一个字符串!

如果您有一个列表并希望摆脱空间,您也可以使用:

"".join(yourlist)

但是我不推荐这里,你会创建一个列表并使用连接,因为你可以从头开始创建一个字符串。

编辑:至于循环,我们无法回答如果你不复制粘贴循环的代码和错误,它可能是一百万件事。