Python 3:我如何使用字符串?join()input()?

时间:2016-06-09 00:48:31

标签: python-3.x join

我想将用户input加入string。我的代码是:

def Username():
    Name = ("Name:")
    Name.join(input("What's your Dicer's name?:\n"))
    print(Name)
Username()

如果我input 'Bradley'input()的{​​{1}}名称就是结果:

What's your Dicer's name?:
 Bradley
Name:

即使我明确加入print input,也没有"Name:"我想要打印的内容。这就是我所期待的

What's your Dicer's name?:
 Bradley
Name: Bradley

如果你能告诉我为什么没有发生,我会非常感激。谢谢!

4 个答案:

答案 0 :(得分:1)

string的join方法需要使用字符串本身连接一个列表(iterable)。例如:

>>> "-".join(["one", "two"])
'one-two'

使用["one", "two"]字符串加入列表"-"

我希望你想要这样的东西:

" ".join(["Name:", input("Enter name:")])

将字符串"Name:"input返回的值相关联。

但这有点难读。 format可能会更好:

name = input("Enter name: ")
print("Name: {}".format(name))

答案 1 :(得分:1)

.join对此非常有用。您可以使用Name简单地将用户输入连接到+

def Username():
   Name = "Name: "
   Name += input("What's your Dicer's name?:\n")
   print(Name)

答案 2 :(得分:1)

为什么不喜欢你的东西。

ans = input("What's your Dicer's name?:\n")
print("Name:"+ans)

它会给你你想要的东西。 这是解决问题的最佳方法。在这种情况下加入是不合适的。

干杯, 约翰

答案 3 :(得分:0)

这不是str.join()的工作方式。该方法采用一个列表或一系列字符串,并将它们连接成一个字符串,使用" parent"字符串划分列出的值。在你的情况下,你很可能想打电话

print( " ".join([Name, input( "What's your Dicer's name?:\n" ) ] ))

这将在列表中的两个字符串之间放置一个空格。

编辑:如上面的评论中所述,这不是一种变异方法,而是返回一个全新的字符串,您必须将其保留在新变量或现有变量下。

参考:http://www.tutorialspoint.com/python/string_join.htm