2016-05-01 3 views
0

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

x ! x ! x 

~ ~ ~ ~ ~ 

x ! x ! x 

~ ~ ~ ~ ~ 

x ! x ! x 

Это то, что я до сих пор:

def print_tic_tac_toe(horiz_char, vert_char): 
    print(vert_char*2) 
    print(horiz_char*5) 
    return 

print_tic_tac_toe('~', '!') 

Я не могу понять как получить «x» для печати между вертикальными символами. Как мне это сделать? Включен ли символ новой строки?

+0

ли вы хотели бы сделать что-то вроде этого ? [square like] (https://stackoverflow.com/questions/36903763/combine-same-function-with-different-parameters-python) – Milor123

ответ

0

Используйте join, чтобы использовать vert_char, чтобы присоединиться к списку x s. STH. как так:

def print_tic_tac_toe(horiz_char, vert_char): 
    print(vert_char.join(['x']*3)) 
    print(horiz_char*5) 
    print(vert_char.join(['x']*3)) 
    print(horiz_char*5) 
    print(vert_char.join(['x']*3)) 

print_tic_tac_toe('~', '!') 

x!x!x 
~~~~~ 
x!x!x 
~~~~~ 
x!x!x 

или короче:

def print_tic_tac_toe(horiz_char, vert_char): 
    print(('\n'+(horiz_char*5)+'\n').join(vert_char.join(['x']*3) for _ in range(3))) 
0

Вы можете попробовать так:

def print_tic_tac_toe(horiz_char = '', vert_char = ''): 
    print(('X '+vert_char)*2+'X') 
    if horiz_char != '': 
     print(horiz_char*5) 
    return 

print_tic_tac_toe('~ ', '! ') 
print_tic_tac_toe('~ ', '! ') 
print_tic_tac_toe('', '! ') 

Выход:

X ! X ! X 
~ ~ ~ ~ ~ 
X ! X ! X 
~ ~ ~ ~ ~ 
X ! X ! X 
Смежные вопросы