1일차 - 두근두근 첫 개강날
첫날이라 OT부터 각종 안내사항, 팀 생성 등 많은 정보가 쏟아져서 정신없이 진행되었다.
행정적으로 hrd net에서 요구하는 인증도 많고! 복잡했지만, 끝까지 잘 해내 봐야지!!
첫 주 3일 간은 파이썬 기초 인강을 듣는 것으로 진행되었다.
맨날 파이썬을 배우려고 할때마다 기초 문법만 깔짝거리고 진도를 못나갔는데,
줌 켜놓고 강제로 공부하니까 열심히 집중해서 듣게 된다.
1일차: 일단 만드는 파이썬
이두희님 강의! 강의력이 진짜 좋으셨다.
코드의 ()를 마트로시카 인형에 비유한 것이 이해가 잘되고,
()의 안쪽부터 바깥쪽으로 작성하는 것이 혼란을 줄일 수 있다는 것도 알게되었다.
첫 시작을 프로그램 만드는 것으로 접근해서 재밌게 배울 수 있었다.
멋사 테킷 강의의 가장 좋은 점은 강의 들으면서 별도의 프로그램 설치 없이
동영상 강의 안에서 바로 실습이 가능하고 코드도 복사할 수 있다는 점이었다!
언제 세상이 이렇게 좋아졌지?!
오늘은 2가지 프로그램을 만들었다.
1. 오늘 뭐드실 (메뉴 고르기)
- random.choice를 활용했다.
- import random을 코드 맨 위에 꼭 써줘야 한다 (random 모듈 불러오기)
- 파이썬은 들여쓰기를 맞춰 써주는 것이 매우 중요하다
- List와 Dictionary 자료형
- 집합 사용하기
합집합 - 중복을 하나만 나타나게: 집합1 | 집합2
차집합 - 중복값 아예 제거: 집합1 - 집합2
교집합 - 중복값만 보여줌: 집합1 & 집합2
- 리스트를 집합으로 변경하기 -> 집합명 = set(list명)
- 집합은 리스트와 달리 요소의 순서 반영하지 않음, 중복 요소 제거
만든 프로그램
lunch 리스트에 메뉴를 반복해서 입력받아, 추가하고, 'q'를 입력하면 멈춘다.
다음으로 삭제할 메뉴를 반복해서 입력받아, 삭제하고, 'q'를 입력하면 멈춘다
이후 5초를 센 후 랜덤으로 메뉴를 골라서 출력해준다.
5초 세는 법
import time
print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)
2. 이상형 프로젝트 (이상형을 물어보고 입력하는 프로그램)
- 사용자 정의 함수 연습
- 이상형을 묻는 질문과 답변을 1. 딕셔너리만 쓰는 방법과 2. 리스트와 딕셔너리를 함께 쓰는 방법으로 만들었다.
- 딕셔너리만 쓸 경우 자료의 형태는 {질문0:답변0},{질문1:답변1}
- 리스트와 딕셔너리를 함께 쓰는 경우 [{“질문”:”질문내용0",”답변":”답변내용0"},{“질문”:”질문내용1",”답변":”답변내용1"}]
- 이 경우에 print(i[”질문"]) →질문의 내용값만 나온다
2일차 - 파이썬 기초 문법 인강
- 문자열 : 연산을 위해 input값은 int()자료형으로 묶어주기
- 리스트 자료형: 리스트명[인덱스번호] 인덱스번호는 0부터 시작
리스트 자료형
- 추가하기(append)
orders.append("냉면") - 순서에 맞게 추가하기(insert)
orders.insert(1,"냉면") - 특정 위치의 자료 삭제하기
del orders[0] - 지우기 (remove - 처음나오는 해당 값을 제거)
orders.remove("짜장") - 리스트의 길이 구하기 len()
len(orders) - 정렬하기
list.sort()
딕셔너리
- 딕셔너리는 중괄호
menu = {} - 값 넣기
menu = {"짜장":4000, "짬뽕":5000, "탕수육":8000}
menu["냉면"] = 6000
print(menu) - key에 해당하는 value 값 출력
print(menu["key"]) - 값 변경
menu["key"] = new_value - 삭제하기
del menu["짜장"]
Key는 변할 수 없는 자료형이여야 한다.
또한, 2개 이상의 동일한 Key가 있어선 안된다.
조건문
- 다중 IF문
if 조건:
elif 조건: (elif는 여러번 사용 가능)
else:
반복문
While문
- True이면 반복, False 이면 반복문 탈출
- 강제 탈출은 Ctrl + C
- break를 만나면 탈출, continue는 계속 반복 → 주로 조건문과 함께 활용한다.
for문
유한한 범위 내 반복, iterable한 자료형에 적용 가능.
ex) range를 활용해서 1부터 100까지 숫자의 합, 1 ~10까지 숫자의 곱 구하기
- range(종료숫자) #0부터 종료숫자까지, 10을 넣으면 0부터 9까지 센다
- range(시작숫자, 종료숫자) #10,20을 넣으면 10부터 19까지 센다
- range(시작숫자, 종료숫자, 스텝) #스텝만큼 증가, 스텝이 2라면 2씩증가
<예제문제 풀이>
- 별(*)을 가로로 출력하는법
for x in range(5) : print("*", end="") # end=”” 사이에 띄어쓰기, ’/t’ 등으로 간격 줄 수 있음
2. 숫자 역순으로 출력하기
```python
for i in range(시작값, 0, -1) :
print(i)
- 10의 단위마다 줄 바꿔 출력하기
- 10단위 줄바꿈을 할때는 i % 10 == 0 (10으로 나눴을때 나머지가 0이 되는 값)을 활용한다.
for i in range(x) : if i % 10 == 0 : print() #엔터 누른 것처럼 활용 print(i+1, end="\t")
- 로또 당첨 번호 뽑기
- import random을 맨 위에 쓰는 것 잊지 않기
lotto = random.sample(range(1, 46), 6) 정렬은 lotto.sort()
2일차의 진도는 파이썬 기초문법이라 첫날보다도 괜찮았다.
여기까지는 맨날 파이썬 공부 시작했다가 덮기 전이라서...(ㅋㅋㅋ)
남은 날중 가장 쉬운 날 아닐까 하며 미리 웃어두기로.. ;D