【问题标题】:Name tag creation module名称标签创建模块
【发布时间】:2015-06-01 12:36:22
【问题描述】:

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

例如

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

假设它有效

___________
|##Sarah##|
|_________|

它不适用于长度比“Sara”长或短的单词

___________
|##Joshua##|
|_________|

这是因为多余/更少的字母会推动边框进出。有谁知道如何解决这个问题?

【问题讨论】:

  • 能否添加相关代码?

标签: python windows module spaces


【解决方案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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    相关资源
    最近更新 更多