파이썬 초보인데 문자와 숫자를 함께 입력받은 후에 문자를 숫자만큼 출력하려면 어떻게해야 하나요?

조회수 925회

4시간째 고민중인데 마땅한 답이 안나오네요

A5B100을 입력하면 A를 5개 B를 100개 출력하고

A80B10을 입력하면 A 80개 B 10개를 출력하는 함수

를 만들고 싶은데 숫자 길이 고려나 문자를 숫자로 만들기나 고려할 게 참 많네요. 어떻게 해야할까요?

2 답변

  • 참고해보세요.

    a = 'A5B100'
    b = int(a.split('B')[0].split('A')[1])
    c = int(a.split('B')[1])
    
  • 아마 이런 걸 원했을 것 같은데요. isalpha , isnumeric 같은 스트링함수가 있습니다.

    대충 짰습니다. 참고하세요.

    >>> def get_str_count_pair(s: str):
        s1 = ''
        for i, c in enumerate(s):
            if c.isalpha():
                s1 += c
            else:
                s = s[i:]
                break
        print(s1, s)
        n1 = ''
        for i, c in enumerate(s):
            if c.isnumeric():
                n1 += c
            else:
                s = s[i:]
                break
        s2 = ''
        for i, c in enumerate(s):
            if c.isalpha():
                s2 += c
            else:
                s = s[i:]
                break
        print(s2, s)
        n2 = ''
        for i, c in enumerate(s):
            if c.isnumeric():
                n2 += c
            else:
                s = s[i:]
                break
        return s1 *(int(n1)) + s2*(int(n2))
    
    >>> get_str_count_pair("A5B10")
    A 5B10
    B 10
    'AAAAABBBBBBBBBB'
    >>> get_str_count_pair("AX3B7")
    AX 3B7
    B 7
    'AXAXAXBBBBBBB'
    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)