Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Python
- 포인터
- 부스트코스
- 자바
- 컴퓨터과학
- 알고리즘
- DOM
- 아스키코드
- 상속
- 장고
- JavaScript
- Django
- 추상클래스
- removetooltip
- python3
- 속초여행
- 강원도속초맛집
- 성수동카페
- richtext
- 가상환경
- BeautifulSoup
- 건대입구맛집
- pipenv
- 노마드코더
- FLUTTER
- 정렬알고리즘
- 코딩독학
- popupmenubutton
- 남양주맛집
- c언어문자열
Archives
- Today
- Total
YUYANE
Python/ 문자열에서 특정 인덱스 값 다음의 문자를 찾을 때 유의 본문
전체 코드
T = int(input())
nums = []
def detect(a):
if '.' in a:
idx = a.find('.')
try:
float(a)
return a[idx+1]
except:
return False
else:
return False
for i in range(T):
num = input()
nums.append(num)
for i in range(len(nums)):
print(detect(nums[i]))
필요한 값
입력 받은 값 a 는 string이다.
1) a가 '.'을 포함하는 지 확인한 후에
2) '.'을 포함 한다면, '.' 다음에 오는 문자를 출력하고 싶었다.
오류 내용
1) try 구문 안에서 float(a)까지는 ok
2) return a[idx+1] 에서 곧바로 except으로 넘어가버린다.
오류 원인
a[idx+1] 값이 존재하지 않을 수도 있다.
예를 든다면 a = '.'
해결 방법
문자열의 길이가 '.'의 인덱스 값보다 크다는 조건을 걸어주었다.
T = int(input())
nums = []
def detect(a):
if '.' in a:
idx = a.find('.')
try:
float(a)
if len(a) > idx:
return a[idx+1]
except:
return False
else:
return False
for i in range(T):
num = input()
nums.append(num)
for i in range(len(nums)):
print(detect(nums[i]))
'Programming Languages > PYTHON' 카테고리의 다른 글
Python / for와 range (0) | 2021.01.19 |
---|---|
Python / Regular Expression(Regex) (0) | 2021.01.13 |
Python/ format() Method (0) | 2021.01.04 |
Python/ 환경변수(Path) (0) | 2020.12.24 |
Python/ Beautiful Soup (0) | 2020.12.18 |
Comments