Service/Coding

코딩 1시간 워니 - 2

포항돼지 2021. 12. 26. 22:23

반복문

 

똑같은 조건을 반복 하고 싶을때 쓰는 구문, 일일이 라인을 붙여서 쓰니까 코드가 더러워짐

for 이랑 while 두가지 방법으로 반복 가능

밑에 조건 값을 i라는 변수에 넣으라는 소리 range 는 10번 반복해라
이렇게 해보면
이렇게 0,1,2 3번 반복 , 이걸 바로 For loop 이라고 함

모든 숫자는 0 부터 시작한다. 1부터 시작하는건 없음

 

똑같은걸 while써보자

i라는 변수를 먼저 선언 한다음, i 가 3보다 작아질때까지, 밑에 넣은 값들을 반복시켜라. 그리고 마지막에 i = i + 1해줘서 1씩올림

i = i + 1안해주면 무제한 반복함

 

그래서 for 이랑 while이랑 둘 다 비슷해서, for로 구성 할수 있는거면 while로 구성 가능 하다. 반대로 while로 구성할수 있는거는 for로 구성가능. 경우에 따라 쓰기 편한걸로 쓰면 됨

 

while true라는 무한 루프도 있음

While을 True로 해놓으면, 조건이 거짓으로 안 바뀌니까 계속 루프가 돌아가는 것. 이 무한 루프를 쓸 경우가 좀있음. 그리고 이 무한 루프를 어떻게 끝내는가?

break와 continue를 씀.

 

break는 Loop을 돌다가 중간에 끝내고 싶을때, 조건을 넣어서 끝내는 경우

 

i = i + 1 조건 넣고, 밑에 if 문에 break 걸어서 멈추게 하는 방식
같은 값 나옴

무한 루프가 돌아가고 있었지만, 중간에 break를 걸어준거

마찬가지로 for loop을 써서, 도는 도중에 멈추게 하는 것도 가능.

Break없었으면 100번 돌았을 텐데, 그냥 i 가 2보다 커진 시점에서 멈추게 함

 

 

Continue

Continue를 넣으면 continue 밑에 있는 코드들은 실행이 안되고, continue를 보자마자 이 Loop의 첫번째 라인으로 돌아가라는 소리임

이거는 어떨때 쓰냐면, 특정한 조건에서 밑에 코드들을 실행 시키고 싶지 않을때 씀.

 

i 값이 1 일때는 워니가 얘기를 안하게 만드는 식으로 씀
결과값

 

자료구조

리스트 , 튜플 , 딕셔너리

 

(1) 리스트

Elements 들을 Grouping 할때 쓰는 것

이렇게 두가지 방식으로 리스트 표현가능
숫자 , 문자 , 숫자문자 이렇게 넣을수 있음

리스트 두개 합치는거도 가능,

 

리스트 안의 값 바꿔치기도 가능

x에 0번째 자리에 있는 값을 보여줘
x에 3번째 자리의 값을 10으로 바꿔줘

 

리스트에 사이즈 보다 더 큰 사이즈를 보여달라고 하고 런 하면 에러 나옴

 

젤 많이 쓰는 함수들

1. length = 리스트의 사이즈를 알려달라고 하는 것

4개의 elements가 있다고 알려줌

 

2. Sort = 정렬 해달라는 함수

 

3. Sum = 리스트가 숫자로 이루어져 있을때 sum 함수 써서 모두 합치기 가능

 

 

이렇듯 리스트하나만으로도 여러가지 fucntion 들이 있음.

 

4. 반복문과 List를 합쳐서 써보자 그럼

제일 중요한 컨셉임. 리스트를 많이 쓰는데 그 안에 리스트 값들을 확인 하기 위해서 사용하는 콘셉

n안에 x리스트 elements값들을 넣어서 하나씩 보여달라는 뜻

5. 리스트 에서 어느 한 element가 어느 위치에 있는지 찾아야 하는 경우도 많음

이럴 경우 index함수 써서 찾을수 있음

 

x라는 리스트 안에 3이라는 element가 어디있어?
0번째에 있어

만약, 리스트안에 없는 값을 물어보면?

이렇게 '1234'는 리스트에 없다고 나옴

비슷한 맥락으로 어떤 element가 리스트에 있는지만 체크 하고싶다? Element자리는 안궁금하고 있는지만 체크 하고 싶은 경우 in 써서 확인 가능

있는경우 True라고 뜨고 없는 경우 False로 나옴

이걸 조건문이랑 합쳐서

이렇게 사용 가능

 

 

(2) 튜플

튜플도 리스트랑 엄청 비슷하다

이렇게 만듬
이렇게 튜플도 리스트와 똑같이 값 더할수있고, element있는지 쳌업도 가능하고, 몇번째 자리에 있는지 확인도 가능하다.

근데 제일 다른 점이 뭐냐면, 튜플에서는 assignment 가 안됨.

값 바꿔치기가 안됨

0번째 값을 10으로 바꾸라고 하면
Tuple oject does not support itemassignment 라고 뜸

mutable = 가변하다 (List)

immutable = 불변하다 (Tuple)

 

어떨때 유용한가?ㄴ

 

 

 

(3) 딕셔너리

딕셔너리는 Key랑 Value로 이루어져있음

그리고 그 에 맞춰서 값을 상응하는 방식

 

x라는 dictionary 안에 name, age키를 넣고 wayne, 20 값넣어서 print로 키 써서 벨류 보여달라고 하는거

키 값에는 방금 배운 불변하는 값들만 들어 갈수 있음

 

딕셔너리도 리스트와 마찬가지로 어떤 키가 있는지도 볼 수 있음

age라는 키 값이 x 딕셔너리에 들어 잇나요?

 

딕셔너리에서 유용한 함수들

1. keys

딕셔너리에 들어있는 모든 key들을 보여주세요

2.values

딕셔너리에 들어있는 모든 value들을 보여주세요

 

3. for loop 같이 써서 x 딕셔너리 안의 벨류값 확인

딕셔너리도 리스트와 마찬가지로 for loop 써서 Elements들을 쭉 돌아 볼수 있음

x[key]는 키에 해당하는 벨류도 볼때 사용(print x of key)
헷갈리니까 이렇게 다시 코딩하면
요렇게 나옴

for loop 썻기 때문에, key 랑 value값 모두 print out 될때까지 계속 됨

 

딕셔너리도 마찬가지로, assign가능 (안에 있는 key value를 바꿔버리기)

name key 값에 Wayne대신 한길 넣기

 

새로운 키와 벨류도 assign 가능함

school이라는 키에 한빛 이라는 value 를 딕셔너리에 넣는 스크립트
school : 한빛 추가된걸 볼수 있음

 

지금 까지 배운 컨셉을 다 써서 프로그램 하나 짜보자

 

코드가 어떻게 돌아가는지 한번 보자,

 

생각보다 쉬운듯, 딕셔너리랑 for loop 그리고 if 랑 else문으로 개념 잡는게 핵심인듯

d[f] = d[f] + 1 

d[f] , 지금 리스트안에 하나 엘리먼트 돌고 있는거

 

항상 복습하자, 그리고 항상 코딩을 따라 해야함

대충 알겠어 이정도가 아니라 항상 코드를 쓰고 돌려보고 해야함