python | 뒤에서부터 찾을 때 사용하는 rfind(), rindex()
·
TIL/python
찾고자 하는 요소가 앞에서부터 몇 번째에 위치하는지 알고자 하면 find 또는 index를 사용하면 된다. python | 파이썬 find() 함수 사용 및 index()와 차이점 파이썬에서 특정 문자열의 위치, 인덱스 번호를 찾고자 할 때 find() 함수를 사용할 수 있다. 예를 들어, '123456'이라는 문자열에서 '3'의 인덱스 번호를 찾으려면 찾고자 하는 문자열을 매개변수로 dduniverse.tistory.com 하지만, 뒤에서부터 찾고 싶을 때는 어떻게 해야 할까? 물론 주어진 리스트를 거꾸로 정렬한 뒤 찾는 방법도 있겠지만, 원래 상태에서 뒤에서부터의 위치를 찾아야 한다면 새로운 방법이 필요하다. 그럴 때 index, find 앞에 r만 붙여 rindex, rfind를 사용하면 된다. 먼..
python | for ~ else 구문 사용하기
·
TIL/python
소수 찾기 문제를 해결하면서 for문을 탈출하기 위한 방법을 찾다가 파이썬에만 존재하는 for ~ else 구문을 알게 되어 정리해보려 한다. 아래 코드는 i가 소수인지 아닌지 판별하는 코드임을 3줄만 읽어도 모두가 알 것이다. for 문을 돌면서, i가 소수가 아닐 때도 어떤 action을 하고 싶어서 if ~ else 구문을 작성해 주었다. for i in range(2, 11): for j in range(2, i): if i % j == 0: print(f'{i}는 소수 아님') break else: print(f'{i}는 소수') break 하지만 이 코드는 우리가 원하는 대로 결과를 출력하지 않는다. 우리는 i가 소수이면 'i는 소수'를, 소수가 아니면 'i는 소수 아님'을 출력하길 원한다. ..
python | 10진법을 n진법으로 나타내기
·
TIL/python
지난번 글에서 진법에 대해 정리를 했었는데 10진법을 n진법으로 바꾸는 방법은 다루지 않았다. 10진법을 n진법으로 바꾸는 내장 함수가 없기 때문에 따로 과정을 하나하나 작성해보려 한다. 먼저, n진법이 무엇인지 간단하게 이야기하자면 0부터 n-1의 수로 모든 자리수를 표기하는 방법이다. 2진법은 0부터 1까지의 수로, 3진법은 0부터 2까지의 수로, ... 10진수는 0부터 9까지의 수로 표기한다. 10진법 수를 n진법 수로 나타내는 방법은 어렵지 않다. n으로 나눈 나머지를 순서대로가 아닌 거꾸로 읽어주면 n진법 수가 된다. 그러므로 우리는 10진법 수를 n으로 나눈 나머지를 변수에 저장하고 거꾸로 읽어주면 n진법 수가 되는 것이다. 위 과정을 코드로 나타내면 다음과 같다. answer = '' wh..
python | and, or 연산자를 return문에서 사용하기
·
TIL/python
파이썬의 return문에 and, or 연산자를 사용할 수 있다. 먼저, and, or 연산자에 대해 정리해보자. 1) and 연산자 조건 A, B 모두 참이면 참(True)을 반환한다. 조건 A, B 중 하나라도 거짓이면 거짓(False)을 반환한다. True and True = True True and False = False False and True = False False and False = False 2) or 연산자 조건 A, B 중 하나라도 참이면 참(True)을 반환한다. 조건 A, B 모두 거짓이면 거짓(False)을 반환한다. True or True = True True or False = True False or True = True False or False = False Tru..
python | 10진법을 2진법, 8진법, 16진법으로, n진법을 10진법으로 바꾸기
·
TIL/python
10진법 수를 2진법, 8진법, 16진법으로 나타내는 방법과 n진법 수를 10진법 수로 바꾸는 방법을 정리해보려 한다. 먼저, 2진법, 8진법, 16진법에 대해 간단하게 살펴보면 다음과 같다. 2진법은 0과 1로만 수를 나타내는 방법이다. 2진법으로 나타낸 수에서 각 자리는 뒤에서부터 $2^0$, $2^1$, $2^2$, $2^3$... 의 개수로 생각하면 쉽게 이해할 수 있다. 0 = 0 = $(0 \times 2^0)$ 1 = 1 = $(1 \times 2^0)$ 2 = 10 = $(1 \times 2^1 + 0 \times 2^0)$ 3 = 11 = $(1 \times 2^1 + 1 \times 2^0)$ 4 = 100 = $(1 \times 2^2 + 0 \times 2^1 + 0 \times 2..
python | 파이썬 find() 함수 사용 및 index()와 차이점
·
TIL/python
파이썬에서 특정 문자열의 위치, 인덱스 번호를 찾고자 할 때 find() 함수를 사용할 수 있다. 예를 들어, '123456'이라는 문자열에서 '3'의 인덱스 번호를 찾으려면 찾고자 하는 문자열을 매개변수로 전달하는 find(찾을 문자열)와 같이 작성해 주면 된다. 3번 인덱스부터 찾고자 하면 find(찾을 문자열, 시작 위치)로 작성해 주면 된다. 0번 인덱스부터 3번 인덱스 사이에서 찾고자 하면 find(찾을 문자열, 시작 위치, 종료 위치)로 작성해주면 된다. 문장에서 단어를 찾는 예를 살펴보자. 'hello my name is'에서 'name'의 위치를 찾으면 'name'이 위치하는 9번 인덱스를 리턴한다. 이는 'name'의 첫 번째 글자인 'n'의 인덱스 번호이다. 만약, 존재하지 않는 값을 ..