[python] 조건문과 반복문 그리고 줄여쓰기

갓희·2024년 5월 8일
0

Python

목록 보기
2/5
post-thumbnail

조건문

if

money = 5000
if money > 3800:
    print('택시 타') # '택시 타'

money = 3000
if money > 3800:
		print('택시 타') # 조건에 맞지 않으므로 아무 동작도 일어나지 않음

elseelif

else
money = 3000
if money > 3800:
    print('택시 타') # money가 3800보다 크다면 if문의 '택시 타' 출력
else:
    print('버스 타') # 3800보다 작으므로 else문의 '버스 타' 출력
elif
money = 100
if money > 3800:   # money가 3800 초과하면 '택시 타' 출력
    print('택시 타')
elif money > 1000: # money가 1000 초과 3800 이하이면 '버스 타' 출력
    print('버스 타')
else:              # money가 위 조건과 다 맞지 않다면 '걸어가' 출력
    print('걸어가')

위 코드에서는 money=100이므로 결과값은 '걸어가'가 출력된다.
자바스크립트의 else if와 동일하게 여러 번 사용할 수 있다.

줄여쓰기

num = 3
if num % 2 == 0:
    result = '짝수'
else:
    result = '홀수'

print(f'{num}{result}입니다.') # '3은 홀수입니다.'

위 코드를 줄여쓴다면 아래처럼 나타낼 수 있다.

num = 3

result = ('짝수' if num % 2 == 0 else '홀수')

print(f'{num}{result}입니다.') # '3은 홀수입니다.'

반복문

for

fruits = ['apple', 'blueberry', 'pear', 'peach']
for fruit in fruits:
    print(fruit)

# 출력값
# apple
# blueberry
# pear
# peach

리스트 속 요소들을 하나씩 꺼내서 써먹는 것이라고 생각하면 쉽다.
위에서 fruit는 요소를 꺼내서 담는 변수로서, 변수명은 자기 맘대로 지어도 된다.
리스트에 있는 요소를 하나씩 돌면서 꺼내쓴다.

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    name = person['name']
    age = person['age']
    print(name, age)

# 출력값
# bob 20 # 이 때 20은 숫자형. 문자열 x
# carry 38
# john 7
# smith 17
# ben 27
# bobby 57
# red 32
# queen 25
  • 반복문과 조건문을 같이 쓰기
for person in people:
    name = person['name']
    age = person['age']
    if age > 20: # age가 20보다 클 때만 출력
        print(name, age)

# 출력값
carry 38
ben 27
bobby 57
red 32
queen 25

enumerate

요소의 순서를 나타내고 싶을 때 사용

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i, name, age)

# 출력값
0 bob 20
1 carry 38
2 john 7
3 smith 17
4 ben 27
5 bobby 57
6 red 32
7 queen 25

break

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i, name, age)
    if i > 3: # i가 3보다 크다면 멈춰
        break

# 출력값
0 bob 20
1 carry 38
2 john 7
3 smith 17
4 ben 27

줄여쓰기

a_list = [1,3,4,5,7,2,3]

b_list = []
for a in a_list:
    b_list.append(a*2)

print(b_list) # [2, 6, 8, 10, 14, 4, 6]

위 코드를 줄여쓴다면 아래처럼 나타낼 수 있다.

a_list = [1,3,4,5,7,2,3]

b_list = [a*2 for a in a_list]
print(b_list) # [2, 6, 8, 10, 14, 4, 6]

연습 문제

1. 짝수만 출력하기

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

for num in num_list:
    if num % 2 == 0:
        print(num)

# 출력 결과
2
6
2
4
6
2
4

2. 짝수의 개수 출력하기

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

count = 0
for num in num_list:
    if num % 2 == 0:
        count += 1
print(count)

# 출력결과
7

3. 리스트 속 모든 숫자의 합계

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

sum = 0
for num in num_list:
    sum += num
print(sum)

# 출력 결과
38

4. 리스트 속 숫자 중 가장 큰 수 구하기

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

max = 0
for num in num_list:
    if max < num: # max가 num보다 작다면
        max = num # max에 그 num 값을 넣어라
        
print(max)

# 출력 결과
6
profile
나의 개발일지

0개의 댓글

관련 채용 정보