JavaScript, Vue.js, CSS/Python&Django
[Python] 숫자, 문자 변환
삶_
2022. 6. 19. 09:32
알파벳/숫자 확인하기
- 문자/문자열.isalpha() : 문자/문자열의 구성이 알파벳인지
- 문자/문자열.isdigit() : 문자/문자열의 구성이 숫자인지
16진수 및 변환
- ord() : 문자 → 정수
- “”인 문자열 안됨. 무조건 ‘’ ! 길이가 1인 문자만 바꿀수있음.
- chr() : 정수 → 문자
- int() 변환(2,8,16 → 10)
- n = int(a,16)
- n = int(a(변환하려는 수), 16(진수))
- n = int(a,16)
- 함수로 변환(10진수 →2,8,16)
- (문자열로 반환)
- bin(40) : 2진수
- oct(40) : 8진수
- hex(40) : 16진수
- print로 출력
- print(”%b”%10진수변수) : 2진수
- print(”%o”%10진수변수) : 8진수
- print(”%x”%10진수변수) : 16진수
지수표현
- 1e9, e9 = 10의 9제곱
제어문
- if : … elif: … else: …
- if a >=30: pass
- 조건문일때 아무것도 처리하고싶지 않으면 pass를 작성
- or (이거나), and (이고), not x (x가 아닐때)
- a in (리스트/튜플/문자열), a not in (리스트/튜플/문자열)
- while 조건문: …
- for 변수 in (리스트/튜플/문자열): …
- 리스트.. 안에 있는 첫~끝을 변수에 대입해 사용함
- 리스트 안에 있는것을 하나씩 꺼내 씀
함수
- def 함수명(매개변수 있거나없거나): 수행문장 return 결과값
- 불필요한 소스코드의 반복을 줄임
- def add(a,b): return a+b
- 여러개의 반환값을 가질수있음
- def op(a,b):
add_a = a+b
mult_a = a*b
div_a = a/b
return add_a, mult_a, div_a
- def op(a,b):
- 기본값 설정하기
- (아무것도 입력 안하면 기본값으로 설정됨)
- def add(a=2,b=7,c=3): …
- 입력값의 갯수를 모를 때
- 가변인자 사용 *
- def add(*num): …
- add(1,2,3) 소환해서 사용.
- 전역변수 global
- 함수 안의 지역변수가 전역변수와 동일하게 처리하고 싶을 때 사용
- 값을 변경/대입할때 써야함
- 변경/대입이 아닌 호출용으로 쓴다면 global 없이도 함수 안에서 쓸수있음
lambda
- (lambda 매개변수 : 표현식)(매개값)
- (lambda x,y : x+y)(10,20)
- 내장함수
- sorted(array, key=my_key(3)) : array를 오름차순으로 정렬하되, my_key를 키속성기준(정렬기준)으로 넣어준다
- key값 뒤에는 무조건 함수가 들어와야함. 정렬할 기준이 되는 함수(함수가 반환한 값)!
- sum(list나 집합등) : 총합
- min(..) : 최솟값
- max(..) : 최대값
- eval(수식) : 수식의 결과를 구해줌
- sorted(array, key=my_key(3)) : array를 오름차순으로 정렬하되, my_key를 키속성기준(정렬기준)으로 넣어준다
- 2차원 배열 정렬
- arr.sort(key=lambda x:x[0]) ex. [0,1] [2,1] [3,1] 여기서 0,2,3만 정렬시킴
- x[0]번째줄의 인덱스들만을 기준으로 정렬시킴
반올림 round()
- round(a,b)
- a : 반올림 하고싶은 대상
- b : 2를 넣으면 소수점 2번째까지 출력 (3번째에서 반올림)
- 반올림했는데 소수점이 .0 으로 깔끔하게 떨어지면 딱 한자리밖에 안됨.
- “0.3f”%score
- 이런식으로 소수점 3째자리까지 표현해달라. 할수있음 (0도 표현됨)
사용자 입출력
2차원 배열 초기화 방법
- n(가로)*m(세로) 크기의 2차원 배열m = 5
- [0]을 n번 곱한 문단 뭉탱이를 m번 출력
- arr = [[0]*n for _ in range(m)]
- 정수로 한 문자를 입력받을때
- n = int(input())
- 2차원 배열 입출력 받을때, (정수로)
- list(map(int, input().split()))
- 입력을 빠르게 받아야 할 때(반복문)
- import sys 작성
- sys.stdin.readline() 을 이용
입력후 엔터가 줄바꿈 기호로 입력되니 rstrip()을 사용 - a,b = map(int, sys.stdin.readline().split()) //여러개 입력받을때
- a = int(sys.stdin.readline()) //한개 입력받을때
- 문자열 + 정수형은 안되니 문자열 + str(정수형)을 이용하자!
- 줄바꿈 없이 출력하기
- print() 할때 end ='' 속성을 이용해 줄바꿈 없이 출력되도록 할수있음
- 2가지 이상의 조건으로 자르고 싶을때
- split(’+’|’-’) 이런식으로!
- |은 and임