Python中的Ascii Art不能在一行中打印

时间:2014-02-09 02:22:13

标签: python function for-loop ascii ascii-art

s = [0,2,6,4,7,1,5,3]


def row_top():
    print("|--|--|--|--|--|--|--|--|")

def cell_left():
   print("| ", end = "")

def solution(s):
   for i in range(8):
       row(s[i])

def cell_data(isQ):
   if isQ:
      print("X", end = "")
      return ()
   else:
      print(" ", end = "")


def row_data(c):
   for i in range(9):
      cell_left()
      cell_data(i == c)

def row(c):
   row_top()
   row_data(c)
   print("\n")


solution(s)

我正在尝试制作一个国际象棋棋盘,但是左边的单元格会分开打印。也是|之间的空间需要,但它需要在|旁边。 固定

新问题 现在我的输出每两行有一个空格,我已经更新了上面的代码。

输出结果如下所示:

|--|--|--|--|--|--|--|--|
|  |  |  |  |  | X|  |  |
|--|--|--|--|--|--|--|--|
|  |  | X|  |  |  |  |  |
|--|--|--|--|--|--|--|--|
|  |  |  |  | X|  |  |  | 
|--|--|--|--|--|--|--|--|
|  |  |  |  |  |  |  | X|
|--|--|--|--|--|--|--|--|
| X|  |  |  |  |  |  |  |
|--|--|--|--|--|--|--|--|
|  |  |  | X|  |  |  |  |
|--|--|--|--|--|--|--|--|
|  | X|  |  |  |  |  |  |
|--|--|--|--|--|--|--|--|
|  |  |  |  |  |  | X|  |
|--|--|--|--|--|--|--|--|

我知道这个国际象棋棋盘不是很方正,但这只是一个草稿。

1 个答案:

答案 0 :(得分:0)

Python 3中的

print()打印换行符,除非你告诉它不要。通过end=''告诉它不要打印该换行符:

def row_top():
    print("|--|--|--|--|--|--|--|--|")

def cell_left():
     print("| ", end='')

def cell_data(isQ):
     if isQ:
        print("X", end='')
    else:
        print(" ", end='')

def row(c):
    row_top()
    row_data(c)
    print("|")