D-8 파이썬 중급

박초화·2024년 1월 10일
0
  1. 자료형
  1. 순열 , 경우의 수
    : 순서 상관 있고 중복 불허 (서로다른 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)
    
  1. 조합, 경우의 수
    : 순서 중요하지 않고 중복 불허
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)
  1. 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('__')])
profile
도전적인 개발자

0개의 댓글

관련 채용 정보