Python 3.x Python3:如何使用字符串I.join()input()?
我想将用户Python 3.x Python3:如何使用字符串I.join()input()?,python-3.x,join,Python 3.x,Join,我想将用户输入加入字符串。我的代码是: def Username(): Name = ("Name:") Name.join(input("What's your Dicer's name?:\n")) print(Name) Username() 如果我要input输入input()的名称'Bradley',结果如下: What's your Dicer's name?: Bradley Name: 它没有打印出我想要它打印的内容,尽管我清楚地将输入加入了“Nam
输入
加入字符串
。我的代码是:
def Username():
Name = ("Name:")
Name.join(input("What's your Dicer's name?:\n"))
print(Name)
Username()
如果我要input
输入input()的名称'Bradley'
,结果如下:
What's your Dicer's name?:
Bradley
Name:
它没有打印出我想要它打印的内容,尽管我清楚地将输入加入了“Name:”
。这就是我所期待的
What's your Dicer's name?:
Bradley
Name: Bradley
如果你能告诉我为什么没有发生,我将非常感激。谢谢 string的join
方法要求使用字符串本身连接列表(iterable)。例如:
>>> "-".join(["one", "two"])
'one-two'
用“-”
字符串加入列表[“一”,“二”]
我想你想要的是:
" ".join(["Name:", input("Enter name:")])
将字符串“Name:”
与输入返回的值连接起来
但这有点难读。你最好是:
str.join()不是这样工作的。该方法获取一个字符串列表或序列,并将它们连接到一个字符串中,“父”字符串界定列出的值。在你的情况下,你很可能想打电话
print( " ".join([Name, input( "What's your Dicer's name?:\n" ) ] ))
这将在列表中的两个字符串之间放置一个空格
编辑:正如上面注释中所指出的,这不是一个变异方法,而是返回一个全新的字符串,您必须将其保存在一个新的或现有的变量下
参考资料:.join
对于这一点来说是过分的。您可以使用+
将用户输入连接到名称
:
def Username():
Name = "Name: "
Name += input("What's your Dicer's name?:\n")
print(Name)
你为什么不喜欢这样的东西呢
ans = input("What's your Dicer's name?:\n")
print("Name:"+ans)
它会给你你想要的。
这是你想要的解决问题的最好方法。在这种情况下,Join是不合适的
干杯,
JohndoingName.join(…)
创建了一个新字符串,如果您想将Name
变量更改为Name.join(…)
的结果,那么就执行Name=Name.join(输入(“…”)
但我想您会对结果感到惊讶。这并不是join
的真正目的,试着运行help(str.join)
,它将一组字符串与Name
作为分隔符连接在一起,在这种情况下,它会将Bradley
的每个字母用名称:
分隔,因此结果将是:BName:rName:aName:dName:lName:eName:y'
相反,我想让Name+=input(…)
或只是name=input();print(“Name:”,Name)
请参见@tadhgcdonald Jensen,堆栈问题很难理解。我还坚持使用Name+=input(…)
1但感谢您的澄清这给了我一个无效的snytax。它仍然不起作用,它给了我同样的错误第二个答案有效,但它偏离了名称
元组概念虽然这也有效,但它偏离了名称
元组,我以后需要它
ans = input("What's your Dicer's name?:\n")
print("Name:"+ans)