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

Python에서 프레임 너비 정렬

<시간/>

단어 목록이 있다고 가정하고 직사각형 영역에 한 줄씩 프레임을 지정해야 합니다. 더 나은 이해를 위해 예를 참조하십시오.

따라서 입력이 ['hello','world', 'python', 'programming','nice']와 같으면 출력은

**************** 안녕하세요 ** 세계 ** 파이썬 ** 프로그래밍 ** 좋은 **************** 

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

  • l:=배열의 최대 크기 단어 길이
  • st:=별표(l+4)번 넣기
  • 단어의 각 i에 대해 수행
    • st :=st concatenate '*' i를 연결한 다음 크기의 공간을 추가합니다(i의 l 크기 + 1) concatenate'*'
  • st:=st와 별(l+4)번 연결
  • 반환성

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:def solve(self, words):l=max(len(x) for x in words) st='*'*(l+4)+'\n' for i in words:st+='* '+i+' '*(l-len(i)+1)+'*'+'\n' return st+'*'*(l+4)ob =Solution()words =['안녕하세요', '세계', '파이썬', '프로그래밍', '좋은']print(ob.solve(단어))

입력

['hello','world', 'python', '프로그래밍','좋은']

출력

**************** 안녕하세요 ** 세계 ** 파이썬 ** 프로그래밍 ** 좋은 ****************