使用字符打印门垫纹理的Python程序


假设我们有两个数字n和m,m是n的倍数。我们必须使用一个词语,例如“WELCOME”,在中间绘制一个门垫图案。门垫尺寸将为n x m。我们必须使用点(.)、连字符(-)、竖线符号(|)和中间的文本来制作这个门垫。

因此,如果输入类似于n = 5 m = 15,则输出将为

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

为了解决这个问题,我们将遵循以下步骤:

  • 对于范围从1到n-1,以2递增的i,执行以下操作:
    • 打印(((m-i*3)/2)的整数个'-’、然后i个'.|.'、然后(((m-i*3)/2)的整数个'-’
  • 打印(((m-7)/2)的整数个'-’、然后'WELCOME'、然后(((m-7)/2)的整数个'-’
  • 对于范围从n-2到-1,以2递减的i,执行以下操作:
    • 打印(((m-i*3)/2)的整数个'-’、然后i个'.|.'、然后(((m-i*3)/2)的整数个'-’

示例

让我们看看下面的实现,以便更好地理解

def solve(n, m):
   for i in range(1,n,2):
      print ('-'*int((m-i*3)/2)+'.|.'*i+'-'*int((m-i*3)/2))

   print('-'*int((m-7)/2)+'WELCOME'+'-'*int((m-7)/2))

   for i in range(n-2,-1,-2):
      print ('-'*int((m-i*3)/2)+'.|.'*i+'-'*int((m-i*3)/2))

n = 15
m = 45
solve(n, m)

输入

15,45

输出

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

更新于:2021年10月11日

532 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.