개발일기 [Python 파이썬]

[Python if & for] 조건문 (if), 반복문 (for)

neullo 2024. 2. 19. 19:19

IF & ELSE

내가 5000원이 있는데, 만약 3000원 이상이면 '택시를 탈게' 아니면 '택시를 못타' 라는 두 개의 조건문

`money = 5000`

`if money > 3000:`

    `print('take taxi')`

`else:`

    `print('cannot take taxi')`

 

IF & ELIF & ELSE

내가 5000원이 있는데, 만약 3000원 이상이면 '택시를 탈게', 만약 12000원을 넘으면 '난 버스를 탈 거야'. 그 둘 다 아니면 '걷겠어'

 

`money = 5000`

`if money > 3000:    
	print('take taxi')`

`elif money > 1200:    
	print('take bus')`

`else:    
	print('lets walk')`

 

이렇게 4명의 사람이 있는데, 만약 20살 이상의 사람을 찾는다고 가정해보자. if age > 20: 이상의 사람들만 보고 싶다면, print(name, age) —> 이름과 나이를 선별적으로 보여준다.

 

`people = [`

    `{'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},`

    `{'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},`

    `{'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},`

    `{'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}]`

`for result in people:`    

`name = result['name']`

    `age = result['age']`

    `if age > 20:`

        `print(name, age)`

 

ENUMERATE

만약 앞에 숫자가 붙어 정리가되어서 보여달라고 하고 싶으면

for i, result in enumerate(people):

`name = result['name']`

`age = result['age']`

`print(i, name, age)`

이렇게 하면 앞에 번호로 1번 2번 3번 알려주고 이름이랑 나이를 알려줘라는 뜻. 결과는 다음과 같이 정리되어 나온다.

 

0 bob 20

1 carry 38

2 smith 28

3 john 34

 

IF i > 숫자: BREAK

이중 만약 2번째까지만 알려줘 라고 하면 break를 사용할 수 있는데 그럴 때는 아래와 같이 넣어 여기까지 알려주고 멈춰라고 부탁할 수 있다.

`if i > 2:`    
	`break`

 

그러면 0번, 1번, 2번 그리고 멈춘다.

 


 

"반복문 for를 사용하고 조건문인 if를 넣어서 많은 숫자 중 원하는 것을 추려낼 수 있다."


IF 짝수

Result % 2 == 0 (2로 나눈 값이 0이다)

만약 짝수만 알고 싶다면 어떻게 할까?

짝수만 알려달라고 할 때 2로 나누었을 때 결괏값이 0 이어야 하니

if result %2 == 0

 

이경우 짝수만 알려준다.

 

IF 홀수

Result % 2 > 0 (2로 나눈 값이 0보다 크다)

만약 홀수만 알고 싶다면 어떻게 할까?

홀수의 경우 숫자를 2로 나눈 값이 0보다 크면 짝수가 아니니 단순히 이렇게 넣을 수 있다.

if result % 2 > 0:

 

`num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]`

`for result in num_list:`

    `if result % 2 > 0:`

        `print(result)`

 

혹은

COUNT = 0  count += 1

혹은 count = 0으로 두고 그것보다 1이 많은 숫자들 count += 1 모두를 찾을 수 있다.

 

`num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]`

`count = 0`

`for result in num_list:`

    `if result % 2 == 0:`

        `count += 1`

        `print(result)`

 

 

SUM=0

만약 모든 걸 더한다고 하면 우선 0이란 값을 주고 앞에 것에 더해서 올라가도록, 마지막에 더해진 숫자가 제일 큰 숫자이다.

`num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]`

`sum = 0for num in num_list:`

    `sum += num`

    `print(sum)`

 

 

MAX = 0

최댓값 구하는 알고리즘은 max를 사용한다.

`num_list = [1, 2, 3, 6, 3, 2, 4, 5, 80, 2, 4]`

`max = 0`

`for num in num_list:`

    `if max < num:`

        `max = num`

    `print(max)`

 

결괏값은 다음과 같이 출력된다.

 

1 [0보다 크네, 1이 맥스]

2 [1보다 크네, 2가 맥스]

3 [2보다 크네, 3이 맥스]

6 [3보다 크네, 6이 맥스]

6 [3이 6보다 작네, 여전히 6이 맥스]

6 [2가 6보다 작네, 여전히 6이 맥스]

6 [4가 6보다 작네, 여전히 6이 맥스]

6 [5가 6보다 작네, 여전히 6이 맥스]

80 [80이 6보다 크네, 80이 맥스]

80 [2가 80보다 작네, 여전히 80이 맥스]

80 [4가 80보다 작네, 여전히 80이 맥스]

 

마지막 80이 제일 큰 숫자, max 값을 구해보았다.