python에서 %-15s에 리스트를 대입할 때
조회수 640회
def manual() :
menuList = ["1. 이차방정식의 근의 판별", "2. 내분점 구하기" , "3. 외분점 구하기",
"4. 무게중심 구하기" , "5. 사용설명 보기" , "9. 프로그램 종료"]
print("==============================================")
print("========== 문제풀이 도움 프로그램 ===========")
print("==============================================")
for menu in menuList :
print("========== %-15s==========" % menu)
print("==============================================")
manual()
을 실행했을 때
==============================================
========== 문제풀이 도움 프로그램 ===========
==============================================
========== 1. 이차방정식의 근의 판별==========
========== 2. 내분점 구하기 ==========
========== 3. 외분점 구하기 ==========
========== 4. 무게중심 구하기 ==========
========== 5. 사용설명 보기 ==========
========== 9. 프로그램 종료 ==========
==============================================
이렇게 정렬이 맞지 않는데 깔끔하게 보이게 할 방법이 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
질문하고 계신 것은 전각문자를 공백으로 채우기(whitespace padding of full-width characters)라는 문제입니다.
파이썬에서는 이 문제를 어떻게 하나 찾아보니 제대로 하자면 좀 성가셔지는 모양이네요. 글쎄 저 메뉴가 사용자들의 엉망진창 입력을 사용해야 하고 그래서 반드시 계산을 해서 정리해야만 하는 값이라면 또 모르겠지만... 이 상황에서 저라면 그냥 이렇게 하겠습니다.
def manual() : # 최소한의 체계성을 갖기 위해 딕셔너리를 도입함. menuList = { '1': { 'name' : '이차방정식의 근의 판별', 'label': '1. 이차방정식의 근의 판별 ' }, '2': { 'name' : '내분점 구하기', 'label': '2. 내분점 구하기 ' # 여기 빈칸 중요 }, '3': { 'name' : '외분점 구하기', 'label': '3. 외분점 구하기 ' }, '4': { 'name' : '무게중심 구하기', 'label': '4. 무게중심 구하기 ' }, '5': { 'name' : '사용설명 보기', 'label': '5. 사용설명 보기 ' }, '9': { 'name' : '프로그램 종료', 'label': '9. 프로그램 종료 ' } } print("==================================================") print("============= 문제풀이 도움 프로그램 =============") print("==================================================") for menuCode, menuInfo in menuList.items() : print("=========== " + menuInfo['label'] + " ===========") print("==================================================") manual()
항간에 떠도는 코딩하수 VS 코딩고수 농담은 이런 맥락에서 나오는 듯합니다. 저는 ㅈ밥이지만요.
댓글 입력