打印正在返回额外的括号无关紧要我做什么

时间:2015-04-16 05:26:58

标签: python python-2.7

所以我正在尝试编写一个可以构成网格的练习函数。

当前代码只是使2x2看起来很花哨的网格:

First = [0, 4, 8, 12, 16]
Second = [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15]

x = 0

while True:
    if x in First:
        print '+', '-' * 4, '+', '-' * 4, '+', '-' * 4, '+', '-' * 4, '+'
        x += 1

    elif x in Second:
        print '|', ' ' * 4, '|', ' ' * 4, '|', ' ' * 4, '|', ' ' * 4, '|'
        x += 1

    else:
        break

看起来像:

+ - - - - + - - - - +
|         |         |
|         |         |
|         |         |
|         |         |
+ - - - - + - - - - +
|         |         |
|         |         |
|         |         |
|         |         |
+ - - - - + - - - - +

我正在尝试扩展此代码,以使一个函数接受长度和宽度的参数,并生成该大小的网格。

def grid_maker(length, height):

我遇到的问题是我不能为我的生活让它多次正确地重复这个模式。

如果我这样做:

bob = '+', '-' * 4
print bob + bob

print bob * length

它在开头和结尾都有括号,好像它正在列出每个条目都是bob。

有没有办法可以重复这种模式x次并让它完全按原样打印,而不添加额外的逗号或括号?

编辑:使用Python2.7

2 个答案:

答案 0 :(得分:3)

这一行:

bob = '+', '-' * 4

创建一个元组。

bob = '+' + '-' * 4

答案 1 :(得分:0)

bob = '+', '-' * 4

是一个等同于

的元组
bob = ('+', '----')

我想你想要

bob = '+' + '-'*4