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

Python을 사용하여 모든 숫자를 문자로 바꾸는 프로그램

<시간/>

짝수 위치에 소문자 영어 문자를 포함하고 홀수 위치에 숫자를 포함하는 영숫자 문자열 s가 있다고 가정합니다. c가 임의의 문자이고 x가 숫자(숫자)인 연산 shift(c, x)를 고려하면 c 다음의 x번째 문자를 찾습니다. 예를 들어 shift('p', 5) ='u' 및 shift('a', 0) ='a'입니다. 이제 모든 홀수 인덱스 i에 대해 숫자 s[i]를 shift(s[i-1], s[i])로 교체하려고 합니다. 모든 숫자를 교체한 후 s를 찾아야 합니다.

따라서 입력이 s ="a2b1d4f3h2"와 같으면 출력은 "acbcdhfihj"가 됩니다.

  • shift('a', 2) ='c'

  • shift('b', 1) ='c'

  • shift('d', 4) ='h'

  • shift('f', 3) ='i'

  • shift('h', 2) ='j'

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

  • res:=빈 문자열

  • 범위 0에서 s까지의 i에 대해

    • s[i]가 숫자이면

      • res :=res 연결 문자 from (ASCII s[i] + ASCII of s[i-1])

    • 그렇지 않으면

      • res :=res 연결 s[i]

  • 반환 해상도

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

def solve(s):
   res=""
   for i in range(len(s)):
      if s[i].isdigit():
         res+= chr(int(s[i])+ord(s[i-1]))
      else:
         res+=s[i]
   return res
s = "a2b1d4f3h2"
print(solve(s))

입력

"a2b1d4f3h2"

출력

acbcdhfihj