00. Data Type
Check point
- 데이터 타입이란 모든 프로그래밍 언너가 데이터를 다루기 위해 필요한 약속
- "변수"라는 개념을 통해 데이터 사용 가능
- 데이터 타입을 배울 떄 중요한 포인트는 어떤 연산을 사용할 수 있는지와 연산결과가 어떤 의미인지 이다.
- 변수 = 메모리에 데이터를 저장하기 위한 공간을 가리키는 말이며, 컴퓨터와 프로그래밍 언어 사용자간의 약속이다.
- 데이터 타입 : 숫자 데이터, 문자열 데이터, 리스트, 튜플, 집합, 사전
- indexing과 slicing이 가능/불가능한 데이터 타입 : 리스트, 튜플, 사전 / 집합
- mutable(assignment 자유로움) / immutable (assignment 제한) : list, dict*, set / int, float, string, tuple, frozenset
- * 단, dict 에서 key값의 데이터 타입은 immutable 해야 함 (∵) 중복되면 안됨.
Programing Practice
# 문제 1. 학점계산기
# 문제 2. 십의 자리 구하기
# 문제 3. 학습결과 출력하기
# 문제 4. 주민등록번호 가리기
# 문제 5. 호텔 예약 관리하기
# 문제 6. 키 순으로 줄세우기
# 문제 7. 데이터 일부만 출력하기
# 문제 8. 데이터 얼리기
# 문제 9. 단어 종류 파악하기
# 문제 10. codebook 만들기
# 문제 11. 도서 관리하기
01. Control Statement
Programing Practice
# 문제 1. if 지옥
a = "Life is too short, you need python"
if "wife" in a:
print("wife")
elif "python" in a and "you" not in a:
print("python")
elif "shirt" not in a:
print("shirt")
elif "need" in a:
print("need")
else:
print("none")
Q. 다음 코드의 실행결과를 예측해보자.
my A : a라는 문자열 데이터에는 shirt란 단어가 없으니까 shirt가 출력되고, need가 있으니까 need가 출력될 것이다.
A : shirt 만 출력됨
*elif는 위의 조건의 아닐때의 조건인데, 위의 조건이 맞으므로 그 아래의 elif조건문은 실행 안됨!
# 문제 2. 약수 찾기
Q. 100 이라의 자연수 중에서 5의 배수를 모두 찾아서 출력
my A.
number = 1
while number <= 100:
if number % 5 == 0:
print(number)
number += 1
else:
number += 1
# 문제 3. 별 찍기!
number = int(input("숫자를 입력하세요 : "))
for i in range(number): # number가 5인 경우 5번 반복
for j in range(number - i): # number가 5에서 1이 될때까지 (5번) 반복
print("*", end='') # print문이 끝나게 될 경우 개행(\n)이 되는 것을 막기위해 end=''옵션 사용
print() # *가 number 갯수 부터 1개가 될때까지 print
또는
for i in range(number):
print("*" * (number - i))
# 문제 4. 단어갯수 구하기 (어려움)
Me: 문제 파악도 못했구요....
news_list = [news1.split(), news2.split(), news3.split(), news4.split(), news5.split()]
for i in range(len(news_list)):
print(str(len(news_list[i])))
해설 답안을 보자..!
## 우선 word_list와 count_list라는 빈 리스트 만들고,
## for문을 이용해서 word라는 변수를 word_list에 append 한다.
## word라는 변수를 word_list에 넣을 때는 set()을 이용해서 중복제거 해준다.
## count_list에는 중복제거를 하지 않고, for 문을 이용해서 단어갯수만큼 리스트에 0을 추가
## 추출한 word를 매치시켜 단어의 갯수를 구하자
## word를 news1의 단어 갯수 만큼 반복하여 하나하나씩 검사 후 동일 단어가 나오면 Count_list에 1을 추가
## 이제 word와 count라는 변수에 두 리스트를 zip을 이용해 매칭시켜
## 딕셔너리 형태로 만들수 있다.
이 모든 것을 한번에 하는 방법 : get 메소드 이다.
for word in news1.split():
word_Dict[word] = word_Dict.get(word, 0) + 1
#get메소드를 이용하여 키값이 있을 경우 키에 대한 값을 불러오고 없을 경우 기본값을 갖는 데이터 추가
word_Dict
허무한데, 짜릿하다.
메소드 하나 알 뿐인데, 과정이 이렇게 깔끔해지다니,
축적된 시간 속에서 살아남을려면 학습이 답인 것 같다.
02. Function
함수를 사용하는 가장 중요한 이유는 재사용성 때문이다. Reusability라고 하며,
똑같은 구조의 코드가 반복되는 것을 피하기 위해 사용
된다. 똑같은 구조의 코드는 보통 한 가지의 기능 단위로 묶이게 되며, 이 기능 단위를 코드로 묶어서 함수로 만든다.
참고 사이트
https://docs.python.org/ko/3/library/functions.html
내장 함수 — Python 3.10.2 문서
내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __
docs.python.org
'빅데이터 분석 첫걸음 시작하기' 카테고리의 다른 글
1주차_데이터 분석 개요 (0) | 2022.03.01 |
---|