프로그래밍

책보고 따라하기 4 (파이썬)

구소장 2022. 9. 1. 18:26
728x90

2022.09.1. 파이썬 코딩훈련 4일차

파이썬 코딩훈련맛보기!

Doit! 첫코딩: 보통사람이 알아야 할 프로그래밍 기초 with 파이썬. 정동균 지음. 이지퍼블리싱

 

오늘 배운 것들..

1. 자료형과 관련한 여러 기능이 있다 (수정, 삭제, 추가, 숫자세기 등등등)

2. 상황에 따라 들어가야 할 괄호들이 다르다. 쉼표와 따옴표도 신경써야 한다..

3. 이걸 다 외워야 하나......?

 

- 이 하 코 딩 - 

# 파이썬에서는 알고보면 모든것이 클래스

#type()   #변수의 자료형을 알 수 있음.

아무거나 = 2022
print (type(아무거나))      #int: 정수형을 의미 결과값이 <class 'int'> 해당 자료형이 클래스라는 것을 의미
이건뭐지 = '이천이십이년'
print (type(이건뭐지))

리스트형 = ['첫코딩', '파이썬', 2022]
print(type(리스트형))

#자료형을 클래스로 만들었기 때문에 다양한 클래스의 특징 활용 가능
개수 = 20
print('사과 {}개' .format(개수))

#다양한 매서드 활용해보기
문자열 = '사과가 좋아, 사과 좋아'
print(문자열 .index('좋아'))  #index는 원하는 값이 몇번째에 있는지 알려주기

리스트 = ['포도', '포도', '바나나']  #튜플과 리스트에서는 두번 나오는 값을 불러올 때 첫번째 메모리 그릇의 인덱스를 출력
print(리스트.index('포도'))

튜플 = ('서울', '부산', '부산')
print(튜플.index('부산'))

# count 는 자료형 안에 해당되는 값이 몇개나 있는지 세어 주는 역할
print(문자열.count('좋아'))
print(리스트.count('포도'))
print(튜플.count('부산'))

#메모리그릇 추가하기: 문자열과 튜플은 선언 이후 값이나 순서를 바꿀 수 없음. (리스트는 가능)
##맨 뒤에 값 붙이기 .append(붙일 값)        덧붙이다
##맨 뒤에 여러 값 붙이기 .extend([붙일 값]) 길게 만들다
##중간에 값 붙이기 .insert(위치, 붙일 값)   끼워넣다        # 한번에 여러개 끼워넣기는 안되나?

리스트.append('딸기')
print(리스트)

리스트.extend(['사과', '키위'])
print(리스트)

리스트.insert(1, '귤')
print(리스트)
리스트.insert(0, '감')
print(리스트)

리스트.append(['망고', '파인애플'])     #append 로 여러값 넣는 것이 가능하지만 대괄호 안에 대괄호가 들어가는 형태 (i.e., 다차원 형태)
print(리스트)

리스트.insert(1, ['토마도', '구기자'])  #insert 로 여러값 넣는 것이 가능하지만 대괄호 안에 대괄호가 들어가는 형태 (i.e., 다차원 형태)
print(리스트)

#메모리 그릇 삭제하기- 리스트만 가능
## 원하는 값을 찾아 삭제: .remove(삭제할 값)    제거하다
## '인덱스'를 기준으로 삭제: .pop(인덱스)       풍선을 터뜨리다.

리스트.remove(['망고', '파인애플'])
print(리스트)

리스트.pop(1)
print(리스트)

#메모리 그릇 위치 바꾸기 - 리스트만 가능
##순서를 반대로 변경하기 : .reverse()   순서를 뒤집다.
##글자 순서대로 정리하기 .sort()        정리하다

리스트.reverse()        
print(리스트)  

리스트.sort()   #영문은 아스키코드, 한글글자는 유니코드 값을 기준으로 순서를 매김
print(리스트)

print(ord('망'), ord('바'), ord('사'), ord('포')) #얘네의 순서를 바꿀수는 없을까?


리스트.sort(reverse = True)     #알파벳 역순으로 정리하기. 't'는 대문자여야 함.
print(리스트)

할일 = ['기상', '식사', '책읽기', '식사']

print('책읽기의 인덱스는 {}입니다'.format(할일.index('책읽기')))
print('할일 중 식사는 {}번 있습니다' .format(할일.count('식사')))

할일.append('운동')
print(할일)

할일.extend(['세수하기', '코딩공부하기'])
print(할일)

할일.insert(0, '낮잠자기')
print(할일)

할일.remove('세수하기')
print(할일)

할일.reverse()
print(할일)

할일.pop(2)
print(할일)

할일.sort()
print(할일)

할일.sort(reverse=True)
print(할일)


#파이썬에서는 알고보면 모든것이 클래스(2)
##딕셔너리는 리스트, 튜플 등과 달리 값이 저장되는 형태가 다르기 때문에 메서드도 다르다.

성적 = {'승준':60, '은희':'결석', '태호':60, '지영':70}     #{key:value}

#key값만 뽑아내기
딕셔너리 = {"이름":'첫코딩', '초판':2020, '출판사':'이지스'}
키값만=딕셔너리.keys()
print(키값만)

리스트키=list(키값만)
print(리스트키)

튜플키=tuple(키값만)
print(튜플키)

#반복문에서 keys() 활용법
for 키값 in 딕셔너리.keys():
    print(키값)

#value값만 뽑아내기
밸류값만=딕셔너리.values()
print(밸류값만)


리스트밸류 = list(밸류값만)
print(리스트밸류)

튜플밸류 = tuple(밸류값만)
print(튜플밸류)


for 밸류값 in 딕셔너리.values():
    print(밸류값)

#key 값으로 찾아서 삭제하기

딕셔너리.pop('초판')
print(딕셔너리)

#key-value 쌍 추가하기

딕셔너리['주소'] = '마포구 잔다리로'
print(딕셔너리)


#practice


이름 = input('이름: ')
나이 = int(input('나이: '))
성별 = input('성별: ')

개인정보 = {'이름':이름, '나이':나이, '성별':성별}  #values 값에는 앞의 변수를 받아오는 듯?
 
for 일행 in 개인정보.keys():
    print('- ', 일행)

for 이행 in 개인정보.values():
    print('- ', 이행)

직업 = input('직업: ')
print('\n')
개인정보['직업'] = 직업
print(개인정보)

# 개인정보.pop(성별)            #삭제하기 나의 오답
# print(개인정보)
삭제키 = '성별'
#삭제키 = input('삭제할 정보는 :)
개인정보.pop(삭제키)
print(개인정보)