파이썬 문자열의 첫글자 비교하는 방법.

조회수 2726회

list : [ Apple, Pineapple, Grape] 에서 원소가 A에서 O까지의 글자로 시작하면 그 단어로 출력하는 프로그램을 어떻게 작성하면 좋을까요?

range는 숫자만 입력 가능 해서 range에 알파벳 넣었더니 오류가 나네요.

2 답변

  • import string
    
    upper_letter = string.ascii_uppercase
    print(upper_letter) # 'ABCDEF...WXYZ'
    start = upper_letter.index('A')
    end = upper_letter.index('O')
    values = ['Apple', 'Pineapple', 'Grape'] 
    for value in values:
        for i in range(start, end):
            if value[0] == upper_letter[i]:
                print(value)
                break
    

    'string'은 내장 library입니다.
    여기서 알파벳 대소문자를 가져올 수 있습니다.
    알파벳에서 'A', 'O'가 몇번째인지 글자인지 확인합니다.
    for loop에서 values의 값들을 하나씩 꺼내봅니다.
    inner loop는 value의 첫글자가 'A' ~ 'O' 인지 확인합니다.
    만약 그렇다면 출력하고 더이상 확인하는 것을 멈추고 다른 value로 넘어갑니다.

    혹시나 values의 값들이 첫글자가 대소문자 섞여있다면 다음과 같이 첫글자를 대문자로 바꿔줄 수 있습니다.

    values = ['apple', 'pineapple', 'grape'] 
    for value in values:
        print(value.capitalize())
    
    • (•́ ✖ •̀)
      알 수 없는 사용자
  • ord 내장 함수를 이용한 간단한 풀이입니다. ord 는 문자를 넣으면 유니코드 문자 테이블의 인덱스 번호를 돌려줍니다.

    fruits = ["Apple", "Pineapple", "Grape"]
    
    for fruit in fruits:
        if ord("A") <= ord(fruit[0]) <= ord("O"):
            print(fruit)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)