Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 이름 이니셜 출력하기 – 성은 그대로 표기하는 방법

이름의 각 단어는 이니셜(첫 글자 대문자)로 줄이고, 성만은 원래 형태 그대로 출력하는 프로그램을 파이썬으로 만들어 보겠습니다. 이 과정에서는 파이썬이 기본으로 제공하는 내장 함수들을 활용합니다.

먼저 split() 함수로 입력받은 전체 이름을 공백 기준으로 나누어 리스트를 만듭니다. 다음으로 리스트를 마지막에서 두 번째 단어까지 순회하며 upper() 함수로 각 단어의 첫 글자를 대문자로 변환하고 뒤에 마침표(.)를 붙입니다. 마지막으로 성에 해당하는 리스트의 마지막 항목은 title() 함수로 첫 글자만 대문자로 바꾸어 결과 문자열에 이어 붙입니다.

예시

입력 : Pradip Chandra Sarkar
출력 : P.C Sarkar

알고리즘

fullname(str1)
/* str1은 문자열 */
1단계 : 먼저 문자열을 공백 기준으로 나누어 리스트로 만든다.
2단계 : newspace 변수를 빈 문자열로 초기화한다.
3단계 : 리스트를 마지막에서 두 번째 단어까지 순회한다.
4단계 : upper() 함수로 첫 글자를 대문자로 변환해 추가한다.
5단계 : 리스트의 마지막 항목(성)을 가져와 결과에 붙인다.

예제 코드

# 이름의 이니셜을 출력하는 파이썬 프로그램
def fullname(str1):
    # 문자열을 공백 기준으로 분리하여 리스트 생성
    lst = str1.split()
    newspace = ""
    # 마지막 단어(성)를 제외한 앞부분 단어들을 순회
    for i in range(len(lst)-1):
        word = lst[i]
        # 첫 글자를 대문자로 바꾸고 마침표를 붙임
        newspace += (word[0].upper() + '.')
    # lst[-1]은 리스트의 마지막 항목(성)을 반환
    newspace += lst[-1].title()
    return newspace

# 드라이버 코드
str1 = input("Enter Full Name ::>")
print("Short Form of Name Is ::>", fullname(str1))

코드 동작 원리

  • str1.split() : "pradip chandra sarkar"를 공백으로 나눠 ['pradip', 'chandra', 'sarkar'] 리스트를 만듭니다.
  • range(len(lst)-1) : 마지막 단어(성)를 제외한 앞 단어들만 순회합니다.
  • word[0].upper() + '.' : 각 단어의 첫 글자를 대문자로 바꾸고 마침표를 붙여 'P.', 'C.' 같은 이니셜을 만듭니다.
  • lst[-1].title() : 리스트의 마지막 요소인 성을 꺼내 첫 글자만 대문자로 변환해 그대로 붙입니다.

실행 결과

Enter Full Name ::>pradip chandra sarkar
Short Form of Name Is ::> P.C.Sarkar