ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 220705_부트캠프시작_python_1주_2일차 (복기)
    bigdata_bootcamp_12th/daily review 2022. 7. 5. 21:55

     

    1. 매핑형 타입

        해시자료 구조

        1) 딕셔너리

            - dict

            - {key:velue}

            - 장점 : 데이터 저장 및 읽는 속도가 빠름

                        중복확인에 용이함

            - 단점 : 저장공간이 더 필요함

                         키의 주소 중복 시 충돌 가능성

     

            # dic{'hip' : 'nafla' , 'kpop' : 'bts' , 'dance' : 'psy'}
            # dic.setdefault ('band', 'yundohyeon')

     

        2) set (엄밀히 말하면 집합구조이나 해시자료)

            - 장점 : 중복 안됨

            - 단점 : 순서가 없음

            - sorted를 이용하여 정렬하고 리스트로 쓰는게 일반적 

            - intersection (교집합)

            - union (합집합)

            -difference (차집합)

     

    2. RANDOM # import random 패키지 가져오기

        랜덤 명령어?

            1) shuffle  #랜덤하게 섞음

            2) randrange (시작, 끝+1) # 해당 범위에서 랜덤하게 1개 추출 (추출 후 반복 추출되는 특징)
            3) choice # 대상 중 1개 랜덤 선택

            4) sample (범위 , k=갯수) #해당 범위 안 갯수만큼 랜덤 추출

     

    3. 얕은 복사 (shallow copy)

            1) 일반적으로 파이썬 기본 복사 방식 # a = b

            2) 복사 후 내용을 변경해도 주소 값이 같아서 원본도 같이 변경 되는 특징

     

    4. 깊은 복사 (deepcopy)

            1) import copy 를 통해 copy 패키지 사용 시작

            2) copy.deepcopy(변수)

    # 1~45까지의 정수 중 무작위 7개를 a 변수에 넣고
    # deepcopy를 이용하여 a의 원본 값을 훼손하지 않고 b에 a를 복사하기
    # 마지막으로 b의 인덱스 1번의 값을 7로 변경하여 a와 b의 값 변화와 주소값 변화를 확인해볼 것
    
    import random  
    import copy
    
    a = random.sample(range(1, 46), k=7)
    b = copy.deepcopy(a)
    
    b[1] = 7
    print(a, b)
    print(id(a), id(b))

        [9, 39, 33, 44, 21, 26, 43]  [9, 7, 33, 44, 21, 26, 43]

        140218329221312            140218329358576

     

    5. 조건문

        if

            1)

                if ( 참인 조건 ) :

                    참이라면 출력할 결과

                    참이라면 출력할 결과

            2)

                if ( 참인 조건 ) :

                    참이라면 출력할 결과

                else :

                    참이 아니라면 출력할 결과

            3)

                if ( 참인 조건 ) :

                    참이라면 출력할 결과

                elif ( 참인 조건 ) :          # if에서 거짓이 나왔을 경우 elif를 통해 다른 조건 설정

                    참이라면 출력할 결과

                else :

                    앞 조건이 참이 아니라면 출력할 결과

     

    a = input('A씨 주사위를 던져 나온 눈을 적어주세요')
    if (int(a) >= 7) :   # str과 int의 속성값이 달라 하나로 일치해야 동작
        print('주사위의 눈은 6까지 입니다. 숫자로 다시 입력해주세요')
        a = input('A씨 주사위를 던져 나온 눈을 적어주세요')
    else :
        print('감사합니다.')
    
    b = input('B씨 주사위를 던져 나온 눈을 적어주세요')
    if (int(b) >= 7) :
        print('주사위의 눈은 6까지 입니다. 숫자로 다시 입력해주세요')
        b = input('B씨 주사위를 던져 나온 눈을 적어주세요')
    else :
        print('감사합니다.')
    
    if (a > b) :
        print('A - 이겼다!')
    elif (a == b) :
        print('A - 비겼다!')
    else  :
        print('A - 졌다..!')

    2일차 끝

Designed by Tistory.