2017-01-20 2 views
1
message="this is fun" 

def translate(robber): 
    consonants=['bcdfghjklmnpqrstvwxz'] 
    for letters in robber: 
     if letters in consonants: 
      return (letters + 'o' + letters) 
      continue 
     else: 
      return translate 

print translate(message) 

문자열을 가져와 강도 언어로 변환하는 중첩 루프를 만들려고합니다. 누구든지 내 코드에서 잘못한 것을 알고 있습니까?문자열 번역 강도 언어

def translate(robber): 
    consonants = 'bcdfghjklmnpqrstvwxz' 
    new_robber = '' 
    for letter in robber: 
     if letter in consonants: 
      new_robber += letter + 'o' + letter 
     else: 
      new_robber += letter 
    return new_robber 

그리고 실제로 (아주 좋은 파이썬을하지만 아닌) 중첩 루프가 들어있는 보너스 대답 :

def translate(robber): 
    consonants = 'bcdfghjklmnpqrstvwxz' 
    new_robber = '' 
    for letter in robber: 
     for consonant in consonants: 
      if consonant == letter: 
       letter += 'o' + letter 
       break 
     new_robber += letter 
    return new_robber 

답변

1

당신은 그것을 반환 후 새로운 강도 이름을 구축 할 필요가 파이썬 2.7에 대한 인쇄 사용 ...

def translate(s): 
    consonants = 'bcdfghjklmnpqrstvwxz' 
    return ''.join(x + 'o' + x if x in consonants else x for x in s) 

print(translate("robbers language")) 
1