본문 바로가기

TIL/Python (w Numpy)

24.05.08 Python

Today's study

  • 딕션너리 자료형
    - 기본 선언 방법
    - for문, dict.values( ), dict.items( ), dict.keys( )
  • range 자료형
    - range(n)
    - range(m, n)
    - range(m, n, l)
  • while 반복문
    - 기본 사용방법(조건)
    - while 문 종료하기
    - break/ continue
  • 함수
    - 기본 선언방법
    - 매개 변수
    - (여유) 일반/ 가변/ 기본(키워드)

Dictionary 선언하기 및 반복문

  • Dictionary는 {}로 선언
  • 키: 값 형태를 , 로 연결해서 만듬
    - 변수 = { 
         key : value, 
         key: value, 
         ... 
         key: value,
         }  
    sample_dict = {
        'name':'범죄도시4',
        'type': ['범죄', '액션'],
        'show': True
    }
    --> {'name': '범죄도시4', 'type': ['범죄', '액션'], 'show': True}
  • key는 문자열, 숫자, 불 등으로 선언가능. 일반적으로 문자열로 사용하는 경우가 대다수

Dictionary의 요소(index)에 접근하기

  • 선언어?[원하는 key] --> 해당 key의 value 값 출력
sample_dict['name']
--> '범죄도시 4' 

Dictionary에 값 추가/제거하기 

  • 딕셔너리 [새로운키] = 값
    sample_dict['actor'] = ['마동석', '김무열']
    --> {'name': '범죄도시4', 'type': ['범죄', '액션'], 'show': True, 'actor': ['마동석', '김무열']}
  • 딕셔너리에 [새로운키] 내에 값을 더 추가하고 싶을 때
    sample_dict['actor'] = ['마동석', '김무열', '윤계상']
    {'name': '범죄도시4',
     'type': ['범죄', '액션'],
     'show': True,
     'actor': ['마동석', '김무열', '윤계상']}

Dictionary 내부에 키가 있는지 확인하기

  • 리스트 내부에 값의 유무를 확인할 때 사용한 것과 동일
  • 딕셔너리 키에 대해서만 존재여부 확인 가능(값에 대해서는 불가능)
  • Q) Dictrionary에 key가 있는지 확인하는 프로그램 만들기
    - 사용자가 임의의 key를 입력
    - sample_dict가 해당 key를 가지고 있으면 key를 출력
    - sample_dict가 해당 key를 가지고 있지않으면 '존재하지 않는 key에 접근하고 있습니다.' 출력
    sample_dict= {'name': '범죄도시 4',
     'type': ['범죄', '액션', '스릴러', '느와르', '코미디', '형사'],
     'actor': ['마동석', '김무열', '박지환', '이동휘'],
     'show': '개봉중'}

    key=input('key를 입력해 주세요: ')
    if key in sample_dict:
      print(sample_dict[key])
    else:
      print('key가 없습니다.')
  • dict.get(key) 함수
    - 존재하지 않는 키를 입력하면 key Error가 발생하는데 이를 피하기 위해서 사용: dict.get(key)
    - 키가 존재하면 값을 리턴
    - 키가 존재하지 않으면 None을 리턴(원하는 결과를 리턴)
    sample_dict.get('producer', [ ]) --> key에 없기에 [ ] 만 출력 

Dictionary 관련 함수: dict.keys( ), dict.values( ), dict.items( )

  • dict.keys( ): dictionary에서 key만 가져오는 함수
  • dict.values( ): dictionary에서 value만 가져오는 함수
  • dict.items( ): dictionary에서 key:value 모두 쌍으로 가져오는 함수 

Dictionary 내 for 반복문

  • for key in dictionary: 
         print(key)
    for key in sample_dict:
      print(key, end='  ')
    --> name type actor show
    : dictionary 내 key만 반복해서 출력해줌. 

    *end=' ' 는 print( ) 내에 자동으로 \n 개념이 들어있는데 이를 방지하고 옆으로 나열하기 위해 사용하는 것.
    '  '내에 넣어주는 것에 따라 요소 사이에 입력 됨. 

범위 자료형

  • 특정 횟수만큼 반복하고 싶을 때 사용: range() 함수
     -방법 1: range(n) : 0~n-1까지 정수로 범위를 만듦 (n개)  
    range(5
    --> range(0, 5)
     
    a=range(5)
    list(a)
    --> [0, 1, 2, 3, 4] 
    - 방법2: range(m, n) --> m부터 n-1까지 정수로 범위를 만듦(n-m개)
    a=range(5,10)
    list(a) 
    --> [5, 6, 7, 8, 9, 10]
    - 방법 3: range(l, m, n) --> l부터 m-1까지 n 간격으로 범위를 만듦
    a = range(0, 10, 2)
    list(a)
    --> [0, 2, 4, 6, 8]

for 반복문: 리스트 범위 조합하기

  •   for 변수 in 반복대상: 형태로 반복대상(list, dictionary..등)에서 하나씩 받아서 변수로 출력하겠다는 뜻
list=[273, 32, 103, 57, 52]
for element in list:
  print(element)
 

  • QUIZ

  • index(순서)와 element를 동시에 출력하기: enumerate( ) 함수
    : for element in enumerate(list) 형태
  • for 반복문을 반대로 반복하기: reversed( ) 함수  
    : for element in reversed(list) 형태

  •   reversed( ) 대신 [::-1]을 사용해도 동일함 

다른 방법

  • QUIZ
    # 반복문을 이용하여 *로 피라미드 만들기 
    star = ''
    for i in range(10):
      star += '*'
      print_star = '{:>10}'.format(star)
      print(print_star+print_star[::-1][1:])

    마지막 [1:] 왜?? 

while 반복문: for 반복문처럼 사용하기

  • for 반복문은 특정 횟수만큼 반복하는 경우에 사용
  • while 반복문은 좀 더 범용적으로 사용하는 반복문 (무한번 반복 가능)
  • while 반복문을 for 반복문처럼 사용하기
  •  

  • list에서 element 2를 반복제거/ 모두 제거하면 반복문 종료

break/ pass/ continue : 반복문 공통

  • list를 하나씩 출력하다가 3을 찾으면 그만해 

  • list를 하나씩 출력하고 3은 출력하지마 

  • continue: 반복문에서 지정 code를 실행시키지 않게 다음 반복 구문으로 넘어가도록 하는 제어자

  • QUIZ (야구게임 프로그램 만들기)
    - 임의의 세자리 수를 뽑는다 (random.randit(100,999))
    - 사용자가 세자리수를 입력한다 (input())
    - 세자리수를 비교한다
       1) 자릿수와 숫자가 같으면 - 1S
       2) 숫자 값은 맞지만 자릿수가 다르면 -1B

 

for 반복문 뒤에 range()를 써서 특정횟수 만큼 반복되도록 짬
만약 입력 값과 random 값이 일치하면 s 이 1추가
입력 값이 random 값 안에 있으면 b를 1 추가

 

함수(function) 만들기

  • 매개변수(parameter): 함수를 호출할 때 괄호안에 넣는 여러가지 자료형들
  • 리턴값(return): 함수를 호출해서 최종적으로 나오는 결과
  • 함수의 기본 --> def 함수이름( ):
  • 함수에 parameter 값 만들기 

  • 임의의 문장을 n 번 출력하는 함수 만들기

 

'TIL > Python (w Numpy)' 카테고리의 다른 글

24.05.13 API호출  (0) 2024.05.13
24.05.10 Python  (0) 2024.05.10
24.05.09 Python  (0) 2024.05.09
24.05.07 Python  (0) 2024.05.07
24.05.03 Python  (0) 2024.05.04