전체 글 (21)

[일상, 맛집, 여행지, 코딩, 주식, 뉴스]

━━━━ ◇ ━━━━
파이썬

[파이썬] while문

while문은 앞서 기록한 for문과 같이 반복적인 작업을 수행하기 위하여 사용하는

반복문이다.

같은 반복문인 for문과의 가장 큰 차이점은

while문은 <특정한 조건>을 충족하는 동안만 실행할 때 주로 사용한다.

앞서 반복문인 for문과 범위지정의 range를 사용하여

1부터 100까지의 정수를 출력하고자 명령을

for n in range(1,101):

print(n)

을 통해 수행시켰다.

해당 명령이 가진 뜻은 n이라는 변수에 1부터 101-1(range 범위의 마지막은 -1)까지의

정수를 반복시켜 집어넣은 뒤 출력하라는 뜻이다.

반면에 while문으로 해당 명령을 수행하려면 어떻게 해야 할까?

while문과 for문의 가장 큰 차이는 <특정 조건을 충족>시키는 동안만

명령을 수행하라는 것이였다.

그럼 특정 조건이라 함은 <n이라는 변수가 100보다 같거나 작을 때까지>의 조건을 충족시킬 때마다 n이라는 변수에 정수를 하나씩 집어넣은 뒤 출력하라는 말과 동일하다.

다음을 통해 알아보자.

먼저, n이라는 변수를 지정해주자.

n은 지금부터 0으로 저장되어 있다.

while 을 통해 <n이라는 변수가 100보다 같거나 작을 때까지>의 조건을 충족시킬 때마다

라고 설정해 주었다.

이 상태로 엔터를 누르게 되면,

무한정 n이 계속해서 출력되는 상황을 볼 수 있다.

이 때엔 당황하지 말고 Crtl + C키를 눌러 강제로 출력을 멈추게 하자.

이유는, n이 100보다 작거나 같을 때 까지 출력만 시킨 것으로

앞서 말한 "n이라는 변수에 정수를 하나씩 집어넣은 뒤 출력하라"는 명령이 빠졌기 때문이다.

이를 보완하고자 한다면,

n = n+1이라는 추가 명령문을 while 문 안에 삽입 해 주었다.

해당 명령을 수행하는 컴퓨터 입장에서 보자면,

1. n은 0이다.

2. n이 100보다 작거나 같다면, n을 출력하자.

3. 지금 n은 0이다.

4. 0은 100보다 작다.

5. 출력 0

6. 다음 n은 0에 1을 더하자.

7. n은 1이다.

8. n이 100보다 작거나 같다면, n을 출력하자.

9. 지금 n은 1이다.

10. 1은 100보다 작다.

11. 출력 1

...

이런 메카니즘을 통하게 된다.

'파이썬' 카테고리의 다른 글

[파이썬] print함수 %s와 for문  (0) 2021.08.10
[파이썬] for문  (0) 2021.08.10
[파이썬] if~else문  (0) 2021.08.10
[파이썬] if문  (0) 2021.08.10
[파이썬] 리스트  (0) 2021.08.10
COMMENT
━━━━ ◇ ━━━━
파이썬

[파이썬] for문

for 문이란?

파이썬의 제어문 중 하나로써 <반복문>이라고도 칭한다.

예컨데, 화면에 1부터 5까지를 출력하고자 한다면

print(1) 부터 print(5)까지 일일이 타이핑 하여 출력할 수도 있지만,

하나의 임의 변수에 1부터 5까지 범위를 출력하라는 명령을 내릴 수도 있다.

사진에와 같이 리스트[] 안에 1부터 5까지의 데이터를 집어넣은 뒤, 해당 for문은 콜론(:)으로 엮어주어

해당 명령(print(n): 변수 n을 출력하라)을 수행하라고 엮어주었다.

단 한 번의 수행만으로 1부터 5까지의 숫자를 자동으로 집어넣고 출력할 수 있었다.

그렇다면, 숫자 다섯가지가 아니라 1부터 1000, 10000까지의 숫자를 자동으로 출력하려면 어떻게 해야할까?

방금과 같이 일일이 숫자를 1부터 리스트[]안에 집어넣어 출력하는 것은 마찬가지로 비효율적인 일이다.

이럴 때는 Range를 통해 정수를 자연스럽게 집어넣을 수 있다.

range는 '범위'의 뜻을 가지고 있다.

사진에서와 같이 range(1,100)을 입력하자

아무 의미 없이 출력된 것은 range(1,100)이다.

이를 list 라는 명령을 통해 []안에 해당 정수 범위를 집어넣으라는 명령을 내리자

보는 바와 같이 1부터 99까지의 정수가 입력이 되었다.

이 때 알 수 있는 사실은 Range( a, b) 안의 범위는

a~ b-1 이라는 사실을 알 수 있다.

처음으로 돌아가서, for문을 사용하여 해당 정수범위 (여기서는 100까지) 자동으로 출력하고자 한다면

>>for n in range(1,101):

print(n)

명령문을 통해 정수범위 1부터 100까지 한 번에 출력이 가능하다.

n은 변수로써 임의로 지정해도 무방하다.

'파이썬' 카테고리의 다른 글

[파이썬] print함수 %s와 for문  (0) 2021.08.10
[파이썬] while문  (0) 2021.08.10
[파이썬] if~else문  (0) 2021.08.10
[파이썬] if문  (0) 2021.08.10
[파이썬] 리스트  (0) 2021.08.10
COMMENT
━━━━ ◇ ━━━━
파이썬

[파이썬] if~else문

if문은 앞서 기록한 대로, 만약 ~이라면 해당 조건을 출력하는 조건문이기 때문에

해당 조건을 충족하지 않는다면 출력이 이루어지지 않음.

때문에 해당 조건을 충족하지 않는다는 조건을 추가로 걸어주면, 조건을 충족시키지 않더라도 출력이 이루어짐.

이 때 사용하는 조건문이 바로 "else"

사용 시 유의할 점

if 조건문과 동일한 위치에서 사용되어야 함(들여쓰기의 위치가 if와 else가 서로 동일해야 함)

해당 코드는 Naver_Blog_Conding_Base는 5라고 선언을 이미 마쳤다.

(Naver_Blog_Coding_Base = 5)

선언 자체만으로는 단지 변수와 값을 연결시켜 놓는 역할을 하기 때문에 그 어떠한 일도 벌어지지 않는다.

if 문을 통해 만약 Naver_Blog_Conding_Base가 10보다 크거나 같다면

"이 데이터는 10보다 크거나 같습니다"라는 문구를 출력하라고 명령하였다.

else문을 쓰지 않는다면

아무런 일도 일어나지 않는다. 해당 변수는 5라고 이미 저장되어 있으니, 10보다 크지 않기 때문에 출력하지 않는것이다.

이 때 else문을 사용하여 10보다 작은 숫자라면, "이 데이터는 10보다 작습니다."라는 문구를 출력하라고 하였다.

 

'파이썬' 카테고리의 다른 글

[파이썬] print함수 %s와 for문  (0) 2021.08.10
[파이썬] while문  (0) 2021.08.10
[파이썬] for문  (0) 2021.08.10
[파이썬] if문  (0) 2021.08.10
[파이썬] 리스트  (0) 2021.08.10
COMMENT
━━━━ ◇ ━━━━
파이썬

[파이썬] if문

1) 조건문에는 if라는 키워드를 사용한다.

2) if 다음에는 '조건'이 존재하는데, 이 조건이 참(True)이면 들여쓰기 한 문장이 실행된다.

**참이 아닐경우 실행되지 않는다.

3) if 문의 끝에는 콜론 (:) 을 입력한다.

4) if 문의 조건이 참(True)일 때 실행되는 문장은 들여쓰기 해야한다.

***

5) if문을 사용한 조건이 참일 경우 "N번" <반복> 하려면 조건이 참일 때 수행될 문장을 동일한 들여쓰기로 표현

Naver_Blog_Coding_Base라는 변수에 1을 저장하고,

조건문 if 를 통해 "만약 해당 변수가 2보다 작을경우,

출력해라(print) ~라고("This data is not 1">>이 값은 1이 아닙니다.)

출력해라(print) ~라고("This data is not 1">>이 값은 1이 아닙니다.)

출력해라(print) ~라고("This data is not 1">>이 값은 1이 아닙니다.)

'파이썬' 카테고리의 다른 글

[파이썬] print함수 %s와 for문  (0) 2021.08.10
[파이썬] while문  (0) 2021.08.10
[파이썬] for문  (0) 2021.08.10
[파이썬] if~else문  (0) 2021.08.10
[파이썬] 리스트  (0) 2021.08.10
COMMENT
━━━━ ◇ ━━━━
파이썬

[파이썬] 리스트

리스트 = [ ]

interest1 = '삼성전자'

interest2 = 'LG전자'

...

interest2039 = '우리금융투자'

매번 많은 값을 수많은 변수명으로 각각 저장하기 번거로움.


리스트 = 여러 데이터를 한 번에 저장할 수 있기 때문에 변수명을 여러개 사용할 필요가 없게 만드는 함수.

넣을 데이터들을 [ ] 사이에 쉼표로 구분하여 넣기만 하면 됨

interest = ['삼성전자' , 'LG전자', ... , '우리금융투자']

<리스트 업> = 출석부

파이썬에서는 맨 앞에부터 1, 2, 3, 4번째로 숫자를 세지 않고

0, 1, 2, 3으로 숫자를 센다.

이를테면 interest라는 변수에 저장된 삼성전자, lg전자..등등에게 각기 쉼표로 데이터가 구분되어 있기 때문에

'삼성전자'가 제일 첫번째로, 0번째 데이터,

'LG전자'가 그 다음 오는 데이터로 1번째 데이터인 셈.

interest라는 변수에 저장된 2039개의 데이터가 있다고 치고, 그 중에서 N번째 데이터를 찾고자 하면

interest[N]

을 활용하면 된다.

예컨데 삼성전자의 데이터는

>>>interest[0] 을 치고 엔터 키를 누르면

'삼성전자'의 데이터가 반환된다.


리스트를 활용하기 좋을 때는, 여러 개의 데이터를 순서대로 저장하고 관리해야 할 때.


기존 리스트에 새로운 데이터를 추가하고 싶을 때 사용하는 메서드는

.append

.insert

append: ~을 추가하다. >> 기존 리스트의 맨 마지막에 새로운 데이터를 추가.

insert: 삽입 >> 기존 리스트의 원하는 위치에 새로운 데이터를 추가.

interest.append('한국전력')

을 실행시킬 경우 interest 변수의 2039번째 데이터 우리금융투자 뒤에 2040번째로 '한국전력'이 추가.

interest.insert(0, '한국전력')

을 실행시킬 경우 제일 앞에 '한국전력' 데이터가 추가됨


기존 리스트에 존재하는 데이터를 삭제하고 싶을 때에는 del을 사용.

주의할 점은 del 다음에 빈칸을 주고 그 다음에 지울 데이터를 입력해야 함.

insert를 통해 제일 앞에 넣었던 한국전력을 삭제하고 싶을 경우

del interest[0]

을 실행시키면

0번째에 있는 한국전력이 삭제됨.

'파이썬' 카테고리의 다른 글

[파이썬] print함수 %s와 for문  (0) 2021.08.10
[파이썬] while문  (0) 2021.08.10
[파이썬] for문  (0) 2021.08.10
[파이썬] if~else문  (0) 2021.08.10
[파이썬] if문  (0) 2021.08.10
COMMENT
1 2