파이썬 연습 16: 가장 높은 색인 알파벳 찾기

의문


  • 이름이 주어지면 알파벳 순서로 가장 높은 문자index를 반환합니다.
  • 해당 인덱스,
  • 문자열 형식입니다.

  • max()를 사용하거나 허용된 알파벳 목록에 값을 재할당하지 않습니다.

  • 예시




    alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
    
    
    alphabet_index(alphabet, "Flavio")  "22v"
    
    alphabet_index(alphabet, "Andrey")  "25y"
    
    alphabet_index(alphabet, "Oscar")  "19s"
    


    내 시도


  • 알고리즘

  • >find the letter with the highest index in alphabetical order
     initialise highest_index to 0
     initialise highest_index_character to empty string
    >>Find the highest index of the character and the relevant character in the name
      initialise highest_index to 0
      initialise highest_index_character to empty string
      for each character in the name:
          if character's index in alphabet is higher than in highest_index
          set highest_index to character's index
          set highest_index_character to character
      return string of highest_index and highest_index_character
    


  • 코드

  • alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",  
                "v", "w", "x", "y", "z"]  
    
    
    def alphabet_index(alphabet: list, name: str):
        # The name are in upper case, but alphabet is in lower case
        name = name.lower()  
        # initialise highest_index to 0  
        highest_index = 0  
        # initialise highest_index_character to empty string  
        highest_index_character = str()  
        # for each character in the name:  
        for character in name:  
            #  if character's index in alphabet is higher than in highest_index  
            if alphabet.index(character) + 1 > highest_index:  
                # set highest_index to character's index  
                highest_index = alphabet.index(character) + 1  
                #   set highest_index_character to character  
                highest_index_character = character  
        # return string of highest_index and highest_index_character  
        return str(str(highest_index) + highest_index_character)  
    
    
    


    기타 솔루션


  • 특별히 인상적인 코드를 찾지 못했습니다. 이 작업을 수행하는 더 짧은 방법이 있으면 알려주십시오.

  • 내 반성


  • 알고리즘을 적절한 형식으로 작성하는 데 시간이 오래 걸리므로 더 연습해야 함

  • 신용 거래


  • 챌린지 찾기edabit
  • 좋은 웹페이지 즐겨찾기