2014-05-21 7 views
-5

문자열을 가져와 미러 이미지를 반환하는 함수 mirror()를 작성하고 싶지만 미러 이미지는 알파벳으로 문자를 사용하여 표현할 수 있어야합니다.사전을 사용하여 파이썬 미러링 문자열

예 : (E)의 거울상 유효한 문자 없기 때문에

>>> mirror('vow') 
'wov' 
>>> mirror('wood') 
'boow' 
>>> mirror('bed') 
'INVALID' 

문자열 베드의 거울상이 문자열로 표시 될 수 없다.

은 내가 쓴 :

def mirror(str): 
    mir={'b':'d','d':'b','o':'o','p':'q','q':'p','v':'v','w':'w','x':'x'} 
    for char in str: 
     while char in mir: 
     return str[::-1] 
    return 'INVALID' 

나는 사전 등가물로 문자열 문자를 대체하는 방법과 전체 문자열을 반복하는 방법을 알아낼 수 없습니다.

def mirror(s): 
    xs = { 
     "b": "d", "d": "b", "o": "o", "p": "q", 
     "q": "p", "v": "v", "w": "w", "x": "x" 
    } 

    if all([c in xs for c in s]): 
     return "".join([xs[c] for c in s]) 

    return "INVALID" 


print mirror("vow") 
print mirror("wood") 
print mirror("bed") 

예 :

$ python -i foo.py 
vow 
woob 
INVALID 
>>> 

는 희망이 뭔가를 배울 수 여기이 질문의 품질이 좋지에도 불구하고

+0

문자 그대로 같은 질문입니다. – SethMMorton

+0

그건 일종의 숙제 일거야. –

+0

나는 그것이 꽤 분명하다고 생각한다. 그러나 일단 누군가가 말하면, downvotes 비가 내리기 때문에 "이것은 숙제처럼 보인다"라는 녀석이되고 싶지 않았다. – SethMMorton

답변

0

작동하는 솔루션입니다.