글쟁이, 코딩한다

1208 / K_digital 2일차 / 파이썬 본문

나는 코딩도 한다/TIL

1208 / K_digital 2일차 / 파이썬

Algori 2020. 12. 8. 23:38

오늘도 온라인 수업을 들었다.

멋쟁이 사자처럼의 기존 교육 과정을 보는 듯 하다.

오늘 한 것이 진짜 알파벳이었다. 어제 간단한 프로덕트를 만들며 알파벳을 배운다고 생각했는데, 아니었다. 내가 어제 한 일은 헬로 하고 묻고, 아임 파인 땡큐, 앤드 유 하는 정도였나보다.

조금 더 정돈된 문법을 배웠다. 어제 본 문자들은 다시 만나 반가웠고, 오늘 처음 본 문자들은 또 새로 봐서 어색했다. 

단어도 몇 개 배웠다. 단어로 문장을 조합하는 느낌으로, 몇 가지 코딩 문제들을 풀었다.

 

하나도 못 풀었다.

다른 이들을 보면 처음인데도, 공을 들여 풀던데 나는 한참을 건드려봐도 엉뚱한 답만 나왔다. (사실 풀이를 봐도 잘 이해 못했다.) 

 

나는 자존심이 센 편인지, 자존감이 높은 편인지, 어떤 문제를 해결하지 못하면 무척이나 신경이 쓰이고 마음이 아프다. 겉으로 아닌 척 해서 속으로 더 슬퍼한다. 

어디서 봤는데, 비전공자 개발자들은 이렇게 슬퍼하지 말아야 한다고 한다. 나보다 더 나은 이들을 바라보다가 목이 부러지지 말라고 했다. 익숙하지 않지만, 그래도 익숙해지기로 했다. 당장 오늘 배운 list와 dict 개념이라도 먼저 익숙해지기로 했다. (다른 개념들은 또 다른 날 익숙해지자고 마음 먹었다.)

강의를 보면서 정리한 내용을 또 정리해본다. 아직 초반이라 길다. 나중가서 짧아졌으면 좋겠다.

 

1. 연산
일반 사칙연산과 동일하게 적용.
print(A + B)
+ / A에 B를 더해 출력해준다. 
print(A - B) 빼기(-)
print(A * B) 곱하기(*)
print(A / B) 나누기(/)

// int( )

input은 모두 글자로 입력된다.

int는 타입을 형변환시켜준다. 글자-숫자로.
반대는 str / 타입을 숫자-글자로 형변환시켜준다.

*#은 해당 코드를 일시 멈춤시킨다.

 

2. 리스트(list) [ ]

이름(영단어) = ["A", "B", "C"]

리스트 이름은 임의로 구별. A, B, C는 요소(elements). 각 데이터는 쌍따옴표로 구별(숫자는 쌍따옴표를 사용하지 않는다).
리스트 안의 각 데이터는 순서(index)로 구별. 0, 1, 2 등 리스트에 들어있는 숫자가 부과된다. 숫자는 늘 0부터 시작.

// 데이터 순서로 이름을 불러오기
print(이름[index])의 꼴 / ex) print(foods[0])

 

// 리스트에 추가하기 
1) append

foods.append("라면")의 꼴.

*리스트 맨 마지막에 추가된다.
2) insert

foods.insert(1, "라면")의 꼴.

*부여한 index로 element를 삽입한다.

 

//리스트 지우기
1) del
del foods[0]의 꼴.
*지목한 index를 삭제
2) remove()

foods.remove("라면")의 꼴.

*지목한 element(데이터 이름)를 삭제

//리스트 길이 구하기 len()
print(len(foods))의 꼴. 결과는 자연수.
*리스트(변수) 안에 들어있는 데이터의 수를 구해줌 / 띄어쓰기와 기호도 하나의 index로 계산.

//숫자로 구성된 리스트
num = [1, 2, 3, 4, 5]라고 할 때
1) sum()
sum(num)의 꼴.
print(sum(num))하면 리스트 숫자 데이터들의 총 합을 출력해준다.
2) sum() / len()
sum(num) / len(num)의 꼴.
리스트 숫자 데이터들의 평균을 구해준다.
3)max()와 min()
최대값 : max(num), 최소값 : min(num)의 꼴.
리스트 가운데 최대값과 최소값을 찾아준다.

3. 딕셔너리(dictionary) { }

이름(영단어) = {"A" : "ㄱ", "B" : "ㄴ", "C" : "ㄷ"}의 꼴.
여기서 A는 Key, ㄱ은 Value. :은 키와 밸류를 나눈다. 한 쌍의 키와 밸류는 ,로 나뉜다. 항상 key 값으로 접근하는 것이 원칙.

//딕셔너리에 추가하기
키와 밸류값을 더한다. 
food["라면"] = 3000의 꼴.

//key값으로 value값 불러내기.
print(food["라면"])의 꼴.
라면 키의 밸류가 출력된다.

//key를 입력해 value값 바꾸기.
food["라면"] = 3500의 꼴.

//dict에서 삭제하기
del food["라면"]의 꼴. 키를 지운다.


4. (if)조건문// True와 False

//연산자들
a == b / a와 b가 같은가?
a != b / a와 b가 다른가?
a < b / a가 b보다 작은가?
a > b / a가 b보다 큰가?
a <= b / a가 b보다 작거나 같은가?
a >= b / a가 b보다 크거나 같은가?
컴퓨터에게 질문하면, 컴퓨터가 True나 False로 판단해준다.

if(띄어쓰기)조건 : (콜론이 필수) 
(tab or 띄어쓰기 네번) 실행할 코드

//if : 는 값이 True일 때, else : 는 값이 False일 때
//elif : 는 if와 else를 결합. 위에 있는 if가 False일 때 elif가 실행된다. 조건이 True면 elif 아래 코드가 작동. 검사를 한 번 더 실행할 수 있는 기능.

5. 반복 // while(~하는 동안에)

조건이 True면 코드를 무한반복. 조건이 False면 while 문을 탈출.

// while의 무한을 빠져나오는 키. ctrl+C

// break : 빠져나가기 위한 코드문


// continue : 반복을 계속해서 돌게 한다.
컨티뉴를 만나면 바로 다시 조건으로 돌아간다.
밑의 실행문을 무시 - 이에 따라 continue 조건을 채우지 못하면 아래 조건을 건너뛴다. (필요없는 것을 출력하지 않게)

6. for문.

 

반복문이다. for 변수 in 시퀀스 : 의 모양인데, 변수까지만 반복한다.  

//시퀀스 : 순서를 가진 데이터의 집합(list 등등)

 

//for문의 변수는 무엇을 써도 상관없다.
(while 루프는 조건의 True, False에 따라 반복했지만, for in 문은 시퀀스의 마지막을 만나면 반복을 멈춘다.)

//for문에서는 시퀀스의 데이터를 하나 만날 때마다 코드가 실행된다.

//range : 여러 차례 변화시킬 때 
for x in range(100)의 꼴.
range( )의 괄호 안에는 (시작숫자, 종료숫자, 스텝)이 들어갈 수 있다.
 시작숫자와 스텝은 생략 가능. 
 종료숫자만 넣으면 0~종료숫자까지 하나씩 증가.
 (시작숫자, 종료숫자) = 시작숫자부터 종료숫자까지 하나씩 증가.
 (시작숫자, 종료숫자, 스텝) = 시작숫자부터 종료숫자까지 스텝을 뛰어넘어 증가. 
   ex) for x in range(10, 20, 2) : 
           print(x) 일 때
10, 12, 14, 16, 18이 출력


* print(end = "")를 사용하면 가로로 결과물이 나오게 할 수도 있다.
* print() 하면 한 칸 내려가게 된다.
* .sort() 하면 오름차순으로 정리가 된다.

Comments