Python3,循环中的变量

Python3,循环中的变量,python,loops,python-3.x,variables,Python,Loops,Python 3.x,Variables,我是python新手,只是四处玩玩,通过这段代码学习不同的特性。(请阅读注释) 当您打印字符串时,它会显示: “你有数学” 但我想让它说: “你有科学;数学” 基本上,我试图找到一种方法,只添加到变量中,而不是一个覆盖另一个,因此当我在最后打印它时,它将同时包含科学和数学 我将在此基础上进行扩展,这就是为什么我需要让列表的长度为循环等。您可以简单地迭代列表中的对象,并使print语句不终止行 less = ["science", "maths"] print ("You have got; "

我是python新手,只是四处玩玩,通过这段代码学习不同的特性。(请阅读注释)

当您打印字符串时,它会显示:

“你有数学”

但我想让它说:

“你有科学;数学”

基本上,我试图找到一种方法,只添加到变量中,而不是一个覆盖另一个,因此当我在最后打印它时,它将同时包含科学和数学


我将在此基础上进行扩展,这就是为什么我需要让列表的长度为循环等。

您可以简单地迭代列表中的对象,并使
print
语句不终止行

less = ["science", "maths"]

print ("You have got; ", end="")
for i in less:
    print (i, end=" ")

要实现此目的,请使用
join

>>> less = ["science", "maths"]
>>> print("You have got; %s" % ' '.join(less))
You have got; science maths

说明:
join
将列表中的元素合并为一个
字符串
,您可以将其添加到所需字符串的末尾

您在每次迭代中都会覆盖
a
的值,您期望得到什么?你知道如何连接字符串,当然你能弄明白这个?如果你能“弄明白”,那么这个网站就没有意义了。两条毫无意义的注释。对于一开始使用Python的人来说,后者过于复杂。或者避免使用字符串concat,使用
print('youhave;',''.join(less))
为什么不合并字符串而让print这样做更好?检查我的答案:这是因为字符串是不可变的,任何下一次合并都会在内存中生成新对象。更好的方法是
print('You have;{})。format(''.join(less))
@syntonym:print不会合并
字符串。它只是在屏幕上显示它们,因为这是一个句子。如果设置上下文,它将创建新对象,因为字符串是不可变的。
less = ["science", "maths"]
print ('You have got; {}'.format(' '.join(less)))
less = ["science", "maths"]
print ('You have got; {}'.format(' '.join(less)))