以下是我的代码:
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!
答案 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)
但是我不推荐这里,你会创建一个列表并使用连接,因为你可以从头开始创建一个字符串。
编辑:至于循环,我们无法回答如果你不复制粘贴循环的代码和错误,它可能是一百万件事。