2024. 12. 1. 19:55ㆍ파이썬(python) 강의 메모 및 실습
1. 반복문
1-1)while문
- 이터러블 객체{ 리스트, 튜플, 딕셔너리 등등 }이 아닌 반복을 할때 주로 사용한다.
-몇번을 반복할지 모를때 사용한다.
1-2)for문
-이터러블 객체의 요소를 하나씩 가져와서 반복적인 작업을 수행할때 사용한다.
1)while문
# while문 만들기
select = int(input("숫자를 입력하세요(양수): "))
while select >=0:
print(select)
select -= 2
-->
#숫자를 입력하세요(양수): 10
#10
#8
#6
#4
#2
#0
1-1)반복문 안에서 탈출하는 방법
# 반복문 안에서 탈출하는 방법
# break
# while문이나 for 문안에서 사용되는 문법으로,ㅇ
# 코드 실행 중 break를 만나면,
# 그 즉시 가장 가까운 반복문을 탈출한다.
while(True):
input_text = input("아무거나 입력하세요")
# 입력된 값이 없으면 탈출
if input_text:
print(input_text)
else:
print("반복문을 탈출합니다.")
break
-->
#아무거나 입력하세요dsadsa
#dsadsa
#아무거나 입력하세요홍길동
#홍길동
#아무거나 입력하세요
#반복문을 탈출합니다.
1-2) 반복문 안에서 현재 코드 실행을 건너뛰고 다음 반복으로 이동하는 방법
# 반복문 안에서 현재 코드 실행을 건너뛰고 다음 반복으로 이동하는 방법
# 변수 선언
count = 0
# 무한 반복
while(True):
count += 1
#반복한 횟수가 짝수(또는 0)이면
if count % 2 == 0:
#반복 횟수 출력
print(count)
else:
#반복한 횟수가 홀수이면, 다음 반복으로 이동
continue
# while문 전체 탈출 조건문
# 반복횟수가 10초과이면
if count > 2:
#반복문 탈출
break
-->
#2
#4
2) for 문
# for문 만들기
# for 임시변수 in 이터러블객체:
for e in [1, 2, 3, 4]:
print(e)
-->
#1
#2
#3
#4
2-1) 출력 옵션을 변경해서 반복문을 사용해보자
# 출력 옵션을 변경해서 반복문을 사용해보자
li = [1, 2, 4, 5, 7, 7]
print("[", end="") #end는 줄바꿈
for e in li:
# print(f"{e}")
print(f"{e}", end=", ")
print("]", end="")
-->
#[1, 2, 4, 5, 7, 7, ]
2-2) for문에서 숫자 시퀀스로 요소를 가져오는 방법
# for문에서 숫자 시퀀스로 요소를 가져오는 방법
# range(마지막값+1)
# 0부터 전달된 숫자값-1까지의 숫자배열을 반환
for e in range(10): #0~9까지의 값을 가지고 있다
print(e)
-->
#0
#range(0, 3)
2-3) range 함수에 두개의 값(start, end)을 던져주는 방법
# range 함수에 두개의 값(start, end)을 던져주는 방법
# start 부터 end~-1까지의 값을 생성해주는 함수이다.
for e in range(1, 5):
print(e)
-->
#1
#2
#3
#4
2-4)
for e in range(1, 10, 2): #1부터 9까지 숫자를 반복하는
#2씩 증가하는 등차수열
print(e)
-->
#1
#3
#5
#7
#9
2-5) list 형태의 반복문
li2 = list(range(1, 10))
print(li2[5])
-->
#5
2. 리스트
여러개의 값을 담는 자료구조
- 리스트(list)
- 튜플(tuple)
- 셋(set)
-딕셔너리(dictionary)
-리스트(list)
1)리스트는 가장 많이 사용하는 자료구조로 저장되는 순서를 기억한다. -->순서를 기억하기 때문에
요소에 접근할때 순서에 따른 번호(index)로 해당값(요소)에 접근한다.
-생성방법 : 대괄호[ ]로 감싸고, 요소와 요소의 구분은 반점(,)으로 구분한다.
여러가지 종류의 데이터를 저장할 수 있다.
1) 리스트 생성
#리스트 생성
fruits = ["사과", "바나나", "배", "감"]
#리스트 요소에의 접근
print(fruits[1]) #바나나
1-2) 리스트의 요소에 값 저장하기
#리스트의 요소에 값 저장하기
fruits[3] = "포도"
print(fruits) #['사과', '바나나', '배', '포도']
1-3)리스트의 요소를 맨뒤에 추가
#리스트에 요소를 맨뒤에 추가
fruits.append("키위")
print(fruits) # ['사과', '바나나', '배', '포도', '키위']
1-4) 이스트 요소의 갯수(길이) 가져오기
#리스트 요소의 개수(길이) 가져오기
lenght= len(fruits) #int
print(lenght) #5
2. 튜플(tuple)
- 순서가 있고 -> 인덱스 접근
- 기본적으로 리스트와 비슷하다.
- 하지만 ★값을 변경 할 수 없다. (immutable)
- 값을 추가하거나 삭제 변경 할 수가 없다.
- 튜플 생성 방법 : 소괄호()로 여러 값을 반점으로 구분하여 나열하고 감싼다.
2-1) 튜플 생성
#튜플 생성
tuple_nums = (3, 10, 5, 21)
print(tuple_nums[0]) #3
2-2) 튜플 값을 변경 할수 없는 이유
tuple_nums[3]= 15 #값을 변경할 수 없어서 오류가 발생한다.
print(tuple_nums
-->
#TypeError Traceback (most recent call last)
#<ipython-input-20-2fcf305a10d4> in <cell line: 1>()
#----> 1 tuple_nums[3]= 15 #값을 변경할 수 없어서 오류가 발생한다.
2 print(tuple_nums)
#TypeError: 'tuple' object does not support item assignment
3. 딕셔너리(Dictionary)
- 키-값 한쌍으로 값이 저장된다.
- 키는 중복이 불가능하다. + 값은 중복이 가능하다.
- 딕셔너리 생성방법 : { key 값 : value값, key값: value값,,,... }
3-1) 딕셔너리 생성
# 딕셔너리 생성
dict_infos = {
"name": "홍길동",
"age" : 31,
"gemder": "남자"
}
#딕셔너리 값에의 접근
print(dict_infos["name"]) # 홍길동
3-2) 딕셔너리 요소의 추가/수정
# 딕셔너리 요소의 추가/수정
dict_infos["job"] = "개발자"
print(dict_infos)
#{'name': '홍길동', 'age': 31, 'gemder': '남자', 'job': '개발자'}
3-3) 딕셔너리의 요소 수정
# 딕셔너리의 요소 수정
dict_infos["age"] = 40
print(dict_infos)
# {'name': '홍길동', 'age': 40, 'gemder': '남자', 'job': '개발자'}
3-4) 딕셔너리의 키값들의 목록
# 딕셔너리의 키값들의 목록
keys_list = list(dict_infos.keys())
print(keys_list)
# ['name', 'age', 'gemder', 'job']
3-5) 딕셔너리의 value 값들의 목록
# 딕셔너리의 value 값들의 목록
val_list = list(dict_infos.values())
print(val_list)
#['홍길동', 40, '남자', '개발자']
4. 셋(set)
- 중복되지않은 요소들의 집합을 저장하는 자료구조
- 순서가 없음 -> 인덱스로 접근 불가
- 중복된 요소를 허용하지 않음
- 내용의 변경은 가능
셋 생성 방법 : 중괄호{ } 로 표현
- 셋은 주로 중복을 제거하기 위해 주로 쓰인다.
4-1)셋 생성
# 셋 생성
names = {"홍길동", "김길동", "고희동", "김철수"}
print(names) # {'김길동', '김철수', '고희동', '홍길동'}
4-2) 셋에 요소 추가(기존에 있던 값을 추가)
# 셋에 요소 추가(기존에 있던 값을 추가)
#names.add("홍길동") #변화 없음
# 셋에 요소추가(기존에 없던 값을 추가)
names.add("고길동") # 셋 중간에 값이 추가됨 ->순서가 없음
print(names)
#{'홍길동', '김길동', '김철수', '고길동', '고희동'}
4-3) 리스트에 담긴 중복된 값을 제거하기 위한 셋으로의 형변환
# 리스트에 담긴 중복된 값을 제거하기 위한
# 셋으로의 형변환
dupl_vals = [1, 1, 3, 5, 3, 6, 6, 7, 7, 10]
# 셋으로 변환하여 중복된 값을 제거해보자
rm_dupl = set(dupl_vals)
print(rm_dupl) # {1, 3, 5, 6, 7, 10}
4-4)셋의 요소 제거
# 셋의 요소 제거
set_values = {"apple", "banana", "kiwi", "watermelon"}
set_values.remove("banana")
print(set_values)
# {'kiwi', 'watermelon', 'apple'}
5-1) 리스트 실습
# 빈 리스트에 값을 여러 개 추가하고,(3, "홍", True, 3+3)
# 인덱스를 이용해서 0번째의 요소와 3번째의 요소를 더한
# 결과를 변수에 담은 후 출력해보자
list_vals = list()
list_vals = [3, "홍", True, 3+3]
result =list_vals[0] + list_vals[3]
print(result) #9
5-2)빈 리스트에 담은후 출력해보자
# 빈 리스트에 값을 여러 개 추가하고,(3, "홍", True, 3+3)
# 인덱스를 이용해서 0번째의 요소와 3번째의 요소를 더한
# 결과를 변수에 담은 후 출력해보자
list_vals = list()
list_vals.extend([3, "홍", True, 3+3])
print(list_vals)
# [3, '홍', True, 6]
5-3) 빈 리스트에 값을 여러개 추가하고 변수에 담은 후 출력해보자
# 빈 리스트에 값을 여러 개 추가하고,(3, "홍", True, 3+3)
# 인덱스를 이용해서 0번째의 요소와 3번째의 요소를 더한
# 결과를 변수에 담은 후 출력해보자
# list_vals = [3, "홍", True, 3+3]
list_vals = list()
list_vals.append(3)
list_vals.append("홍")
list_vals.append(True)
list_vals.append(3+3)
print(list_vals)
# [3, '홍', True, 6]
5-4) 딕셔너리 심화학습
# 딕셔너리 심화 함수(기능)
# 키를 이용해 값을 가져오는데,
# 만약 키가 없을 경우, default 값을 설정하는 방법
dict_info = {
"name" : "홍길동",
"age" : 31,
}
# 값을 가져오는 방법
dict_info.get("name", "이름없음") # name 키가 없기 때문에 그 키 값을 들고온다.
dict_info.get("gender", "성별미입력") #gender 키가 없기 때문에 default값이 출력된다.
#홈 엔드 키 블록 복사
# shift + home
# shoft + end
-->
#'성별미입력'
'파이썬(python) 강의 메모 및 실습' 카테고리의 다른 글
파이썬 클래스와 메서드 (2) | 2024.12.01 |
---|---|
파이썬-함수 (0) | 2024.12.01 |
파이썬 제어문_조건문 (0) | 2024.12.01 |
파이썬 형변환 (0) | 2024.12.01 |
파이썬 연산자와 형변환 (0) | 2024.11.26 |