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循环中完善了对行末输出的处理。
本回答被网友采纳