我想将用户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
如果你能告诉我为什么没有发生,我会非常感激。谢谢!
答案 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" ) ] ))
这将在列表中的两个字符串之间放置一个空格。
编辑:如上面的评论中所述,这不是一种变异方法,而是返回一个全新的字符串,您必须将其保留在新变量或现有变量下。