2014-02-09 5 views
0
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) 

Я пытаюсь сделать шахматную доску, но оставшаяся ячейка печатает в отдельных строках. Также пробелы между | необходим, но он должен быть рядом с |. FIXEDAscii Art in Python не печатает в одной строке

НОВАЯ ПРОБЛЕМА Теперь мои из пут пространства, каждые две строк, и я обновил код, указанный выше.

Выход предполагает, чтобы выглядеть следующим образом:

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

Я знаю, что шахматная доска не очень квадратная, но это только черновик в данный момент.

+0

Если у вас есть новый вопрос, задайте новый вопрос! Не редактируйте вопрос, чтобы данные ответы больше не имели смысла. Я откатываю это редактирование. – SethMMorton

+0

В том случае, когда вы не поняли, я имел в виду спросить [совершенно новый вопрос] (http://stackoverflow.com/questions/ask). Мало того, что эта существующая модификация не позволяет задавать совершенно новый вопрос, а не следить за протокалом этого сайта, * никто не ответит на него, потому что уже есть ответ на этот вопрос. Вы сделаете одолжение, следуя моим инструкциям (если вы действительно хотите, чтобы на вопрос ответили). – SethMMorton

ответ

0

print() в Python 3 печатает новые строки, если вы не скажете об этом. Перейдите в 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("|") 
+0

Предполагая, что OP использует функцию печати (что здесь кажется разумным). Если на самом деле это утверждение печати с лишней скобкой, то подавление новой строки достигается добавлением конечной запятой. – mgilson

+0

Это сработало Спасибо !, но у меня новая проблема, теперь между каждой строкой у меня есть пробел. – pakiboii

Смежные вопросы