- 자료형
- 순열 , 경우의 수
: 순서 상관 있고 중복 불허 (서로다른 n개중 r개를 선택하여 구할수 있는 경우의 수)
def getPermutationCnt(n,r):
result =1
cnt=0
for n in range(n,(n-r),-1):
result *= n
return result -> 2520
------------------------------
from itertools import permutations
def getPermutationCnt(ns,r):
pList = list(permutations(ns,r))
print(f'{len(ns)}P{r} 개수: {len(pList)}')
for n in permutations(ns,r):
print(n,end='')
listVar = [1,2,3,4,5,6,7]
rVar =5
getPermutationCnt(listVar,rVar)
- 조합, 경우의 수
: 순서 중요하지 않고 중복 불허
def getCombinationCnt(n,r):
resultP =1
resultR= 1
resultC =1
for n in range(n,(n-r), -1): # 순열
resultP *= n
for n in range(r,0,-1): #팩토리얼
resultR *=n
resultC = int(resultP / resultR) #조합
print(f'{resultC}')
n=8
r=3
getCombinationCnt(n,r)
------------------------
from itertools import combinations
def getCombinationCnt(ns,r):
CList = list(combinations(ns,r))
print(f'{len(ns)}C{r}: {len(CList)}')
listVar = [1,2,3,4,5,6,7,8]
rVar = 3
getCombinationCnt(listVar,rVar)
- globals()['variable'] = value
: 현재 모듈에서 사용하는 전역 변수 값을 가져오거나 바꿀 수 있다.
def test():
a = 1
b = 2
test()
c = 3
b = 4
print("Global Variables in this module")
print([f"{k}:{v}" for k, v in globals().items() if not k.startswith('__')])
# 전역 변수 설정
globals()['c'] = 5
globals()['e'] = 5
print("Global Variables in this module")
print([f"{k}:{v}" for k, v in globals().items() if not k.startswith('__')])