2017-06-24 400 views
0

下面循环的多重条件是代码:蟒蛇在蟒蛇

for x in range(0, 7) + 100: 
    print x 

预期输出:

0 
1 
2 
3 
4 
5 
6 
100 

请帮我把这个输出。

下面是代码的错误:

TypeError: can only concatenate list (not "int") to list 

回答

3

由于您使用Python 2,范围创建列表。 要将号码添加到列表的末尾,首先把它放在一个列表,那么你可以使用加法运算:

for x in range(0, 7) + [100]: 

(在Python 3为此,您需要将范围转换成一个列表,因为它range(...)创建一个不同的数据类型):

for x in list(range(0, 7)) + [100]: 
+0

@idjaw不,我知道它会工作,但我只是测试它和它的工作如预期。 – micsthepick

+0

我刚看到python2.7标签。对!在Python 2.7中'range'实际上创建了一个列表。这就是为什么这是有效的。在Python 3中,情况并非如此,因为它继承了Python 2中'xrange'的功能。在Python 3中执行此操作将导致:TypeError:不支持的操作数类型为+:'range'和' list''。即使标签声明为Python2.7,但考虑到未来的读者可能很容易忽略它,这可能有助于提供答案中的某些细节。 – idjaw

+0

@idjaw当然,好主意。 – micsthepick