名称标签创建模块

时间:2015-03-28 03:20:52

标签: python windows module spaces

你好我正在用python编写一个游戏,有一次它将用户的名字放入名称标签中,但是我遇到了一个问题。

e.g。

def name_tag(name):
printf("____________")
printf("|## {} ##|".format(name))
printf("|__________|")

假设它有效

___________
|##Sarah##|
|_________|

对于长度比“Sara”更长或更短的单词,它不起作用

___________
|##Joshua##|
|_________|

这是因为额外/更少的字母会进出边界。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以调整顶部和底部线条的长度,如下所示。为了消除一组可能出现的问题,我还将名称的最大长度限制为80.

def name_tag(name):
    name_len = min(len(name), 80)
    print '-' * (name_len + 8)
    print '|## {} ## |'.format(name[:name_len])
    print '-' * (name_len + 8)


>>> name_tag('Sarah')
-------------
|## Sarah ## |
-------------
>>> name_tag('JT')
----------
|## JT ## |
----------
>>> name_tag('An improbably long name for an example')
----------------------------------------------
|## An improbably long name for an example ## |
----------------------------------------------

修改:调整上述内容以匹配您发布的代码中的格式:

def name_tag(name):
    name_len = min(len(name), 80)
    print '_' * (name_len + 8)
    print '|## {} ## |'.format(name[:name_len])
    print '|{}|'.format('_' * (name_len + 6))