3진법
45를 3진법으로 나타내려면 몫이 0이 될때까지 3으로 계속 나누면서 그 나머지들을 쭈욱 쓰면 된다.
45/3=15...0
15/5=5...0
5/3=1...2
1/3=0...1
---> 10진법 45 = 3진법 1200
divmod(): 나눗셈에서 몫과 나머지를 모두 구해준다.
quotient, remainder = divmod(45, 3) # quotient=15, remainder=0
divmod(45, 3) # (15, 0) 튜플 타입으로 반환
int를 쓰면 n진수를 쉽게 10진수로 변환할 수 있다.
int('숫자', n): 앞에 들어가는 숫자는 꼭 타입이 string이어야 한다.
int('1200', 3) 또는 int(str(1200), 3) # 45
문제를 풀 때 사용하진 않았지만 파이썬 내장함수에 10진수를 2,8,16진수로 변환해주는 것도 있다고 한다.
숫자 뒤집기
int(str(12345)[::-1]) # 54321
여기서도 str 주의해서 빼먹지 말기!
리스트의 특정 위치에 값 추가: .insert(인덱스, 값)
base3_list = []
base3_list.insert(0, 0) # base3_list = [0]
base3_list.insert(0, 0) # base3_list = [0, 0]
base3_list.insert(0, 2) # base3_list = [2, 0, 0]
base3_list.insert(0, 1) # base3_list = [1, 2, 0, 0]
숫자 리스트를 하나의 숫자로
''.join(map(str, [1, 2, 0, 0])) # 1200
리스트 슬라이싱
arr = [1, 2, 3, 4, 5]
arr[1: 4] # [2, 3, 4]
3번 인덱스 값까지 슬라이스 하고 싶으면 3+1=4를 입력!
시작값은 0부터 시작하는 리스트의 인덱스, 끝값은 진짜로 몇 번째 값인지!
https://daeun-computer-uneasy.tistory.com/74?category=983126
strings = ["abce", "abcd", "cdx"]
sorted(strings, key=lambda x : (x[2], x)) # ["abcd", "abce", "cdx"]
---> 리스트의 각 요소 x에서 2번 인덱스 값인 "c", "c", "x"를 기준으로 정렬한 후 # ["abce", "abcd", "cdx"]
기준값이 "c"로 같은 "abce"와 "abcd"는 단어 자체를 기준으로 정렬한다. # ["abcd", "abce", "cdx"]
문
장고 docs에 나온 예시대로 age = models.PositiveIntegerField() 넣었더니 createsuperuser 시 오류 발생
시
db.sqlite3, migrations/0001_initial.py 등 삭제 후 다시 makemigrations, migrate -> 실패
괄호 안에 blank=True 넣기 -> 실패
해
null=True
알
다른 필드는 괜찮아도 PositiveIntegerField는 null=True 필요!!!
'TIL' 카테고리의 다른 글
TIL 042823 (0) | 2023.04.28 |
---|---|
TIL 042723 (0) | 2023.04.27 |
TIL 042523 (0) | 2023.04.25 |
TIL 042423 (0) | 2023.04.24 |
TIL 042123 (0) | 2023.04.21 |