Developer_Neo
파이썬 코테 쓰이는 문법 정리하기. 본문
반응형
입력받기
1. sys.stdin.readline() -> 이게 더 좋다.
import sys
data = sys.stdin.readline()
#-----------------------------------------------------------
data_list = list(map(int, sys.stdin.readline().split())) # 여러개 공백을 기준으로 입력 받기
#------------------------------------------------------------
data_list = list(map(int, sys.stdin.readline().rstrip())) #공백없이 입력받아 list만들기
'''
rstrip이 쓰이는 이유는 readline()은 한줄씩 읽어오는 것으로 마지막에 \n이 붙어있기 때문이다.
123465489 -> 이렇게 입력시
[1, 2, 3, 4, 6, 5, 4, 8, 9] -> 이렇게 data_list가 만들어진다.
'''
#------------------------------------------------------------
'''
map함수는 iterable 객체를 반환하는 함수들중 하나로
list나 tuple등을 감싸주어야지만 리스트나 튜플로 변환이 가능하다
(range(), sorted, reversed(), enumerate(), map(), filter(), zip())
iterable 객체 - iterator 객체를 얻을 수 있는 반복 가능한 객체
'''
2. input
- prompt 메시지를 출력할 수 있으며 input의 결과값은 문자열이지만 마지막 개행 문자인 \n이 포함되지 않는다,
- sys.stdin.readline()은 마지막 개행 문자인 \n이 포함된다.
data = input("what is it? :")
'''
input으로 받은 값은 무조건 문자열이 된다
따라서 int를 원한다면 int로 감싸주어야한다.
'''
추가)
- 10번 Enter를 기준으로 입력받아 list에 저장
num=[int(sys.stdin.readline()) for _ in range(10)]
*
1. 곱셈, 거듭제곰
2. 리스트 확장
i_list=[1]*5 # -> [1,1,1,1,1]
t_tuple=(1,)*5 # -> (1,1,1,1,1)
3. Unpacking
data = [1,2,3,4,5]
print(*data) # 1 2 3 4 5
#튜플도 가능
*a, b = data # [1,2,3,4] , 5
4. *args, **kwargs
def args_function(*args):
print(args)
def kwargs_function(**kwargs):
print(kwargs)
args_function('a', 'b') # ('a', 'b') *args는 튜플로 전달된것이라서..
kwargs_function(a = 100, b = 200) # {'a':100, 'b':200} **kwargs는 사전으로 저장된다..?
+ 는 더하기
- 는 빼기
* 는 곱하기
/ 는 나누기
% 는 나머지
// 는 몫
** 는 거듭제곱
rjust, ljust, zfill
rjust(오른쪽 정렬)
val = "77".rjust(5)
print(val) # ___77
val = "77".rjust(5, "0")
print(val) # 00077
ljust(왼쪽 정렬)
val = "777".ljust(15, "0")
print(val) # 777000000000000
zfill(0을 왼쪽에 채워줌)
val = "777".zfill(5)
print(val) # 00777
list
1. 특정 값의 인덱스 찾기
num_list=[1,2,3,4,5,6,7]
print(num_list.index(3)) # 2
2. 리스트 끼리 순서 맞는지 확인
a=[1,2,3,4,5,6,7]
b=[1,2,3,4,5,6,7]
print(a==b)
길이
import sys
#숫자의 나머지를 저장할 집합
set_10=set()
#숫자 10개 입력받기
for _ in range(10):
num=int(sys.stdin.readline())
set_10.add(num%42)
print(len(set_10))#집합의 길이 출력
소수점 관리
1. round(반올림하고자 하는 값, 자릿수)
2. format 서식 지정으로 소수점 관리
present_list=[1,3,5,7,8]
print("{:.2f}".format(present_list[1])) # 3.00
문자열 각각을 숫자로 변경해 더하는 거
i=123
'''--------------------------------------------------'''
sum=0
for j in str(i):
sum+=int(j)
'''--------------------------------------------------'''
#밑의 것처럼 map을 이용해서 할 수 있다
a = list(map(int, str(i)))
sum(a)
2,8,10,16진수
num = input("값 입력:")
int(num, 16) # 16진수 값을 10진수로 변환
int(num, 10) # 10진수 값을 10진수
int(num,8) # 8진수 값을 10진수로 변환
int(num,2) # 2진수 값을 10진수로 변환
print("16 진수 ==>", hex(num)) # 10진수를 16진수로 변환
print("10 진수 ==>", (num))
print("8 진수 ==>", oct(num)) # 10진수를 8진수로 변환
print("2 진수 ==>", bin(num)) # 10진수를 2진수로 변환
Math 라이브러리
1. 팩토리얼이 있다!
from math import factorial
n, k = map(int, input().split())
b = factorial(n) // (factorial(k) * factorial(n - k))
print(b)
반응형
Comments