본문 바로가기
wecode/TIL 정리

위코드 사전 스터디 3주차 - 2

by 왕거 2020. 6. 29.

일단 오늘은 어제 미뤘던 westudy 미션을 다 마무리하고, 어떤 주제를 공부할 지 생각해보기로 함

 

  • 파이썬에서 가변/불변 객체란? 그리고 어떤 자료형이 있는지?
  • 딕셔너리 사용해보기
  • 스트링, 리스트, 딕셔너리의 인자를 반복문을 통해서 출력하는 함수 만들어보기
  • for - in 사용해보기, break와 continue 역할 알아보기
  • if - else 조건문 써보기
  • list 메소드 중 append, pop, sort를 사용해보기

이렇게 6가지인데 첫번째 미션은 어제 정리했고 나머지는 코딩해보면서 알아볼 수 있었다.

 

1. 딕셔너리 사용해보기

bts_dic = {'Jin' : ['김석진', '1992-12-04', 180, 63, 'O'],
            'Suga' : ['민윤기', '1993-03-09', 173, 59, 'O'],
            'J-hope' : ['정호석', '1994-02-18', 177, 65, 'A'],
            'RM' : ['김남준', '1994-09-12', 181, 67, 'A'],
            'Jimin' : ['박지민', '1995-10-13', 173, 60, 'A'],
            'V' : ['김태형', '1995-12-30', 179, 63, 'AB'],
            'Jungkook' : ['전정국', '1997-09-01', 178, 66, 'A']}

BTS의 정보를 딕셔너리로 구성해봄

 

예전에 파이썬 공부할 때도 느꼈지만 구조체 없이도 여러 자료형의 데이터를 한번에 담을 수 있는 게 참 편하다.

 

2. 스트링, 리스트, 딕셔너리 인자 출력 함수

def dic_Print_All(dic) :
    for k in dic.keys() :
        print(dic[k])

def string_Print_All(string) :
    for i in range(len(string)) :
        if i == (len(string) - 1) :
            print(string[i])
        else :
            print(string[i], end ='')

def list_Print_All(list) :
    for j in range(len(list)) :
        if j == (len(list) - 1) :
            print(list[j])
        else :
            print(list[j], end =' ')

 간단하게 구현해보았다.

 

일단 딕셔너리의 경우 구성요소 중 key를 받을 수 있는 메소드가 제공되서 이를 사용해보았다. 처음에는 배열 인덱스마냥 정수를 넣어서 출력하려 했는데 에러뜨고 작동 안됌.

 

스트링과 리스트의 경우는 range()와 len()을 사용해서 각 데이터의 끝을 하드코딩하는 걸 피했다. 

 

출력문에 포함된 end = ' ' 는 자동개행을 피하기 위해 추가해줌, 작은 따옴표 사이에 공백을 넣으면 그만큼 띄워지고 다음 데이터가 출력된다. flush라는 메모리 비우는 방법도 있는데 굳이 적용할 필요는 못느껴서 적용안함.

 

for - in 이 파이썬에서 대표적인 반복문인 것 같은데 작동구조가 조금 특이해서 헷갈린다.

 

인덱스로 주어진 변수에는 in 다음에 리스트 전체를 줄 수도 있고 하여튼 파이썬 특징이라고 할 수 있는 제약이 적다고 느꼈다. 근데 덕분에 더 헷갈림;;;

 

3. for - in 사용해보기, break와 continue 역할 알아보기

def break_Continue(list) :
    for i in range(len(list)) :
        if i == 1 :
            continue
        elif i == 8 :
            print('')
            break
        else :
            print(list[i], end =' ')

이 미션은 굳이 해볼 필요는 없어보였는데 그냥 간단하게 알아봤다.

 

continue와 break 둘 다 내가 아는 개념 그대로인 것 같다.

 

continue는 주어진 조건에 맞는 경우 이후 과정을 스킵하고 인덱스 증가 후 다시 조건을 판별한다.

 

break는 주어진 조건에 맞는 경우에 반복문을 탈출한다.

 

4. list 메소드 중 append, pop, sort를 사용해보기

def list_Method_Test() :
    print("입력할 수의 개수 : ", end = '')
    index = input()
    temp_list = []

    for i in range(0, int(index)) :
        print("수 입력 : ", end = '')
        temp_list.append(int(input()))

    print("입력 직후 리스트 : ", end = '')
    list_Print_All(temp_list)
    temp_list.sort()
    print("정렬 후 리스트 : ", end = '')
    list_Print_All(temp_list)
    temp_list.pop(0)
    print("값 추출 후 리스트 : ", end = '')
    list_Print_All(temp_list)

간단하게 각 메소드의 기능을 테스트 해 볼 함수를 만들어서 확인했다.

 

append는 리스트에 값을 덧붙이는 용도이다. 맨 뒤에 차례대로 추가되는 방식, 중간에 끼워넣는 기능은 따로 있을 것 같다.

 

sort는 이름 그대로 정렬기능을 한다. 그냥 메소드 호출만해도 리스트가 정렬된다.

 

pop의 경우는 인자로 주어진 인덱스위치의 데이터를 뽑아낸다. 다른 언어들의 배열 인덱스마냥 맨 앞은 0부터 시작함

 

미션을 간단하게 마무리했는데, 늦어도 오늘안에는 주제를 정해야 될 것 같은데 뭘 해야 될지 모르겠다.

 

코딩테스트를 파이썬으로 진행해 볼까 싶다.

 

한 3~4개 정도??

 

파이썬 코딩도장 퀴즈 풀이도 괜찮아보인다.

 

지금 파이썬 문법에 익숙하지가 않아서 뭔가 주제를 잡고 개발해보기엔 좀 어려움이 많음