문자열을 수정하려고합니다. 각 알파벳을 앞에 두 자리 인 알파벳으로 바꿉니다. 예 : 'a'는 'c'로 대체되고, 'b'는 'd'로 대체됩니다. 유일한 예외는 'y'가 'a'로, 'z'가 'b'(시작으로 되돌아 감)로 대체되어야한다는 것입니다.문자열 조작 Python
나는 그것을 목적으로하는 것처럼 보이는 다음 코드를 작성했지만 출력 형식은 그 형식을 망친다.
string = "g fmnc wms bgblr rpylqjyrc gr zw fylb."
print string
for i in string:
if i.isalpha():
if ord(i)>120:
print chr(ord(i)-24),
else:
print chr(ord(i)+2),
else:
print i
출력 :
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i h o p e y o u d i d n t t r a n s l a t e i t b y h a n d .
예상 출력 :
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i hope you didnt translate it by hand.
이 문제를 해결하기 위해 어떤 대안, 더 빠른 방법이 있습니까?
'문자열 가져 오기 translate'에서 그것을 사용합니다. – dansalmo
감사는 다른 접근 방식'intab = outtab = "cdefghijklmnopqrstuvwxyzab" trantab = maketrans (intab, outtab) 인쇄 string.translate (trantab) "ABCDEFGHIJKLMNOPQRSTUVWXYZ"' – misguided
cs50x으로 다음나요? 정말로 좋은 과정 :) –