파이썬 문자열의 첫글자 비교하는 방법.
조회수 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)
댓글 입력