두 개의 숫자 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------------------- ---.|..|..|..|..|..|..|..|..|..|..|..|..|.--- ------.|..|..|..|..|..|..|..|..|..|..|.------ ---------.|..|..|..|..|..|..|..|..|.--------- ------------.|..|..|..|..|..|..|.------------ ---------------.|..|..|..|..|.--------------- ------------------.|..|..|.------------------ ---------------------.|.---------------------