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} - key는 문자열, 숫자, 불 등으로 선언가능. 일반적으로 문자열로 사용하는 경우가 대다수
Dictionary의 요소(index)에 접근하기
- 선언어?[원하는 key] --> 해당 key의 value 값 출력
sample_dict['name']
--> '범죄도시 4'
Dictionary에 값 추가/제거하기
- 딕셔너리 [새로운키] = 값
sample_dict['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
*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]
a=range(5,10)list(a)
--> [5, 6, 7, 8, 9, 10]
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 |