본문 바로가기
프로그램

[파이썬] 문제 : 영어 대소문자, 숫자로 plus 정수 n 만큼 증가한 문자열

by 오디세이99 2022. 11. 28.
728x90
반응형

in_str = input("입력(예:letters plus): ")    # letter와 plus를 입력 받음
in_lst = in_str.split()                      # 입력 받은 문자열 분리
in_lst[1] = int(in_lst[1])                   # plus 부분을 문자열에서 정수로 변환

def unit10(letters, plus):                   # 함수 선언
    new_letters = ''                         # 변경 후 값을 저장 할 변수 선언
    for i in range(len(letters)):            # letters의 문자수만큼 반복
        c = letters[i]                        # 해당 인덱스의 문자 분리
        for j in range(plus):                # plus 만큼 반복
            if c == 'z':                     # 지금 문자가 z면 A로
                c = 'A'
            elif c == 'Z':                   # 지금 문자가 Z면 a로
                c = 'a'
            elif c == '9':                   # 지금 문자기 9명 1로
                c = '1'
            else:                            # 그외는 문자를 ascii 번호로 바꾸어(ord) 거기에 +1 씩 함. 그 결과를 문자화(chr) 함
                c = chr(ord(c) + 1)
        new_letters += c                     # 그렇게 만들어진 새로운 문자를 결과 문자열에 붙임
    return new_letters

print(unit10(in_lst[0], in_lst[1]))          # 출력

입력(예:letters plus): a12b 3

d45e

728x90
반응형

댓글