hackerrank String 7 Designer Door Mat

Mr. Vincent works in a door mat manufacturing company. One day, he designed a new door mat with the following specifications:

  • Mat size must be X. ( is an odd natural number, and  is  times .)
  • The design should have 'WELCOME' written in the center.
  • The design pattern should only use |. and - characters.

Sample Designs

    Size: 7 x 21 
    ---------.|.---------
    ------.|..|..|.------
    ---.|..|..|..|..|.---
    -------WELCOME-------
    ---.|..|..|..|..|.---
    ------.|..|..|.------
    ---------.|.---------
    
    Size: 11 x 33
    ---------------.|.---------------
    ------------.|..|..|.------------
    ---------.|..|..|..|..|.---------
    ------.|..|..|..|..|..|..|.------
    ---.|..|..|..|..|..|..|..|..|.---
    -------------WELCOME-------------
    ---.|..|..|..|..|..|..|..|..|.---
    ------.|..|..|..|..|..|..|.------
    ---------.|..|..|..|..|.---------
    ------------.|..|..|.------------
    ---------------.|.---------------

Input Format

A single line containing the space separated values of  and .

Constraints

  •  
  •  

Output Format

Output the design pattern.

Sample Input

9 27

Sample Output

------------.|.------------
---------.|..|..|.---------
------.|..|..|..|..|.------
---.|..|..|..|..|..|..|.---
----------WELCOME----------
---.|..|..|..|..|..|..|.---
------.|..|..|..|..|.------
---------.|..|..|.---------
------------.|.------------

My Answer:

def get_DoorMat1(l, h):
    symbol = '.|.'
    for i in range(l / 2):
        print ((2 * i + 1) * symbol).center(3 * l, '-')

    print 'WELCOME'.center(3 * l, '-')

    for i in range(l / 2):
        print ((2 * (l / 2 - (i + 1)) + 1) * symbol).center(3 * l, '-')

def get_DoorMat(l, h):   ##最优解
    symbol = '.|.'
    pattern = [(symbol*(2*i + 1)).center(h, '-') for i  in range(l/2)]
    print('\n'.join(pattern + ['WELCOME'.center(h, '-')] + pattern[::-1]))


if __name__=='__main__':
    l, h = map(int, raw_input().split())
    DoorMat = get_DoorMat(l, h)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值