如何在参数传递过程中打印字符

时间:2016-05-01 15:32:19

标签: python function python-3.x parameters parameter-passing

我试图制作一个看起来像这样的电路板:

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'在垂直字符之间打印。我该怎么办呢?是否涉及换行符?

3 个答案:

答案 0 :(得分:0)

使用join使用vert_char加入x列表。 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)))

答案 1 :(得分: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

答案 2 :(得分:0)

def print_tic_tac_toe(horiz_char, vert_char):
    print('x %s x %s x' %(vert_char, vert_char))
    print('%s %s %s %s %s' %(horiz_char, horiz_char, horiz_char, horiz_char, horiz_char))
    print('x %s x %s x' %(vert_char, vert_char))
    print('%s %s %s %s %s' %(horiz_char, horiz_char, horiz_char, horiz_char, horiz_char))
    print('x %s x %s x' %(vert_char, vert_char))
   

print_tic_tac_toe('~', '!')