在我定义变量之后,我尝试更改用作列表元素的变量...希望代码能够比我更好地解释我的问题:
i = 0
friend = "jake"
stuff = [friend]
dialogue = ["talk to %s please" %(stuff[0])]
while i < 2:
print (dialogue)
friend = "paul"
print ("")
i+=1
因为它代表程序打印:
talk to jake please
talk to jake please
但我想要打印:
talk to jake please
talk to paul please
提前感谢您的帮助
修改
我已经意识到这个例子^过度简化了我的问题,所以我编写了另一个基本程序,更好地描述了我的问题,并把它放在另一个问题上,以防止这个问题变得太有价值< / p>
答案 0 :(得分:0)
将friend = "paul"
更改为stuff[0] = "paul"
或者,您可以保留friend = "paul"
,但将stuff = [friend]
再次放在其下方的行上。
在其中任何一个之后,您需要再次放置dialogue = ["talk to %s please" %(stuff[0])]
行。
如果你想知道为什么你的方式不起作用,请在赞扬中询问。告诉我这是否有效!
P.S。有很多更好的方法来做你想做的事情。我建议你学习迭代,列表和for循环。
答案 1 :(得分:0)
据我了解您的简化问题,似乎您在stuff
列表中有不同的变量意味着不同的东西。
针对此类事情的更合适的数据结构(尤其是当您要修改内容时)是 dictionary
。
因此,您可以将stuff
定义为:
stuff = {"friend": "jake"}
然后你可以做以下事情:
print("talk to %s please" % stuff["friend"] )
#talk to jake please
并通过执行以下操作来修改朋友属性比list
更容易:
stuff["friend"] = "paul"
现在将片段的输出设为两个:
talk to paul please