Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

문자를 사용하여 디자인 도어 매트 텍스처를 인쇄하는 Python 프로그램

<시간/>

두 개의 숫자 n과 m이 있다고 가정하면 m은 n의 배수가 됩니다. 우리는 중간에 "WELCOME"라는 단어가 있는 도어 매트 패턴을 그려야 합니다. 매트 크기는 n x m입니다. 점(.), 하이픈(-), 파이프 기호(|) 및 중간에 있는 텍스트를 사용하여 이 매트를 만들어야 합니다.

따라서 입력이 n =5 m =15와 같으면 출력은 다음과 같습니다.

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

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 1에서 n-1 사이의 i에 대해 2만큼 증가, do
    • print(((m-i*3)/2) '-'의 정수, '.|.'의 i 숫자, ((m-i*3)/2) '-'의 정수
  • print(((m-7)/2)의 정수 '-' 다음 'WELCOME' 다음 정수 ((m-7)/2) '-'의 정수
  • n-2 ~ -1 범위의 i에 대해 2만큼 감소, do
    • print(((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-------------------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|..|..|..|..|.------
---------.|..|..|..|..|..|..|..|..|.---------
------------.|..|..|..|..|..|..|.------------
---------------.|..|..|..|..|.---------------
------------------.|..|..|.------------------
---------------------.|.---------------------