请用python语言编写一个四行四列的表格

如题所述

第1个回答  2014-11-10
print '''
+ - - - - - + - - - - - + - - - - - + - - - - - +
|           |           |           |           |
|           |           |           |           |
+ - - - - - + - - - - - + - - - - - + - - - - - +
|           |           |           |           |
|           |           |           |           |
+ - - - - - + - - - - - + - - - - - + - - - - - +
|           |           |           |           |
|           |           |           |           |
+ - - - - - + - - - - - + - - - - - + - - - - - +
|           |           |           |           |
|           |           |           |           |
+ - - - - - + - - - - - + - - - - - + - - - - - +'''

追问

如果是m行n列呢

要用上函数呢

追答

原来之前那个问题也是你提的啊。

那确实要上函数了:

def drawTable(iRow, iColumn, iCellW=5, iCellH=3):
    def func(x, y):
        if (x % iCellW == 0) and (y % iCellH == 0):
            print '+',
        elif x % iCellW == 0:
            print '|',
        elif y % iCellH == 0:
            print '-',
        else:
            print ' ',
    for y in range(iColumn * iCellH + 1):
        for x in range(iRow * iCellW):
            func(x, y)
        print '+'
drawTable(4, 4)

追问

我不会编程就只能这样了

追答

行列数目以及单元格宽度都可通过函数参数控制。
iRow, iColumn 分别表示行数和列数;
iCellW, iCellH 分别表示单元格宽度和高度。

代码在python 2.7版本上测试通过,如果是python 3,要将print后的内容放入小括号。

追问

嗯是2.7

老师说用2.7的比较好稳定

追答

ok

追问

大神啊

追答

我是初学者...在答题中学习。
参考了另一个相似问题的答案。那个答案框架正确,但运行结果不对,为修正也想了半天。

追问

我没有编程的思维,虽然我能听懂老师讲课但是我自己写的时候就完全摸不着头脑了

追答

涉及X,Y二维阵列的打印输出基本是要用两个for循环嵌套的。

Python我也是初学,只能是多看看别人的代码,再加上自己多练习慢慢摸索。

追问

好的谢谢你的帮助

追答

不客气,突然发现最后一列有点不对,都是+。代码更新一下:

def drawTable(iRow, iColumn, iCellW=5, iCellH=3):
    def func(x, y):
        if (x % iCellW == 0) and (y % iCellH == 0):
            print '+',
        elif x % iCellW == 0:
            print '|',
        elif y % iCellH == 0:
            print '-',
        else:
            print ' ',
    for y in range(iColumn * iCellH + 1):
        for x in range(iRow * iCellW):
            func(x, y)
        if (y % iCellH == 0):
            print '+'
        else:
            print '|'
drawTable(4, 4)


for循环中完善了对行末输出的处理。

本回答被网友采纳
相似回答