본문 바로가기
공부/코딩

⛷ [파이썬] 파이썬 기초 정리 (10) : IF문

by blackb1rd 2022. 11. 9.
728x90
반응형
728x170

 

 

 

파이썬 기초 정리

 

IF문 

예시1)

dogs = ['andy', 'bob', 'merry', 'tom']

for dog in dogs:
  if dog == 'bob': #1
    print(dog.upper()) #2
  else: #3
    print(dog.title()) #4

 

결과 값

Andy
BOB
Merry
Tom

 

#1에서는 현재 값이 'bob'인지 확인합니다. 

#2에서는 'bob'이 맞으면 모든 문자를 대문자로 출력합니다. 

#3에서는 현재값이 'bob'이 아닐 경우에 해당합니다. 

#4에서는 현재값이 'bob'이 아닐 경우 단어의 첫문자만 대문자로 출력합니다. 

 

결과 값을 보면 if문에서 'bob'일 경우에만 대문자로 출력하라고 명령했기 때문에 'bob'만 대문자인 'BOB'으로 출력되고 나머지 이름들은 전부 맨 앞문자만 대문자로 출력되고 나머지 문자는 소문자로 출력되었습니다. 

 

 

 

 

 

 

- if문 

 

예시2)

age = 19
if age >= 18:
      print("You are old")

 

결과 값

You are old

 

 

 

- if-else문

else문은 조건 테스트가 실패했을 때 실행할 동작을 정의 합니다. 

 

예시3)

age = 17
if age >= 18:
    print("you are old.")
else: 
    print("sorry")

 

결과 값

sorry

 

 

 

 

- if-elif-else문

조건 - 4세 미만이면 무료 / 4세부터 17세까지는 입장료 25 / 18세 이상이면 입장료 40

이 경우 예시4나 혹은 예시5처럼 코드를 작성할 수 있습니다. 

 

예시4)

age = 12

if age < 4: 
    print("$0")
elif age < 18: 
    print("$25")
else:
    print("$40")

 

결과 값

$25

 

 

예시5)

age = 12

if age < 4: 
    price = 0
elif age < 18: 
    price = 25
else:
    price = 40

print(f"${price}")

 

결과 값

$25

 

 

 

- elif 여러개 사용하는 법

 

예제6)

age = 12

if age < 4: 
    price = 0
elif age < 18: 
    price = 25
elif age < 65:
  price = 40
else:
    price = 40

print(f"${price}")

 

결과 값

$25

 

 

 

- else 블록 생략하는 법 

if-elif문 뒤에 else 블록을 반드시 사용해야 할 필요는 없습니다. 때로는 else블록 대신에 elif문으로 하나 더 테스트 하는 편이 더 쉬울 수도 있습니다.

 

예제7)

age = 35

if age < 4: 
    price = 0
elif age < 18: 
    price = 25
elif age < 65:
  price = 40
elif age >= 65:
    price = 20

print(f"${price}")

 

결과 값

$40

 

 

 

 

- 여러 조건 테스트하는 법 

if-elif-else문은 강력하지만 통과 조건이 단 하나일 때만 어울립니다. 때문에 한 가지 테스트가 통과하는 즉시 다른 테스트는 모두 건너 뛰게 됩니다. 예제8과 예제9를 함께 비교해보세요.

 

예제8)

requested = ['mushrooms', 'extra cheese']

if 'mushrooms' in requested:
    print("adding mushrooms.")
if 'pepperoni' in requested:
    print("adding pepperoni.")
if 'extra cheese' in requested:
    print("adding extra cheese")

print("\nfinished making your pizza.")

 

결과 값

adding mushrooms.
adding extra cheese

finished making your pizza.

 

 

예제9)

requested = ['mushrooms', 'extra cheese']

if 'mushrooms' in requested:
    print("adding mushrooms.")
elif 'pepperoni' in requested:
    print("adding pepperoni.")
elif 'extra cheese' in requested:
    print("adding extra cheese")

print("\nfinished making your pizza.")

 

결과 값

adding mushrooms.

finished making your pizza.

 

예제9와 같이 if-elif-else 블록을 쓰면 테스트가 단 하나만 통과해도 멈추므로 제대로 동작하지 않습니다. 파이썬은 if-elif-else문의 첫 번째 테스트가 통과하면 나머지는 테스트하지 않기 때문입니다. 

 

 

 

반응형

 

 

 

1) 리스트에서 if문 사용하는 법

- if문으로 리스트에 특별한 항목이 있는지 체크하는 법

 

예제10)

requested = ['mushrooms', 'green peppers', 'extra cheese']

for requested_topping in requested:
    print(f"adding {requested_topping}")

print("\nFinished making your pizza.")

 

결과 값

adding mushrooms
adding green peppers
adding extra cheese

Finished making your pizza.

 

 

+ 피망(green peppers)이 떨어졌을 때 상황 처리하는 법

 

예제11)

requested = ['mushrooms', 'green peppers', 'extra cheese']

for requested_topping in requested:
    if requested_topping == 'green peppers': #1
        print("Sorry")
    else: #2
      print(f"adding {requested_topping}")

print("\nFinished making your pizza.")

 

결과 값

adding mushrooms
Sorry
adding extra cheese

Finished making your pizza.

 

#1은 피자에 피망 토핑을 주문했다면 피망이 다 떨어졌다는 메시지를 표시합니다. 

#2는 else블록을 썼기 때문에 다른 토핑은 모두 피자에 추가 됩니다. 

결과 값을 보면 주문 받은 토핑이 잘 처리된 것을 볼 수 있습니다. 

 

 

 

- if문으로 리스트가 비어 있는지 확인하는 법

 

예제12)

requested_toppings = [] #1

if requested_toppings: #2
    for requested_topping in requested_toppings:
        print(f"Adding {requested_topping}.")
    print("\nFinished")
else: #3
    print("Are you sure you want a pizza?")

 

결과 값

Are you sure you want a pizza?

 

#1는 비어있는 토핑 주문 리스트에서 시작한다는 뜻입니다. 이후 for 루프를 바로 시작하지 않고, #2에서 간단히 체크 합니다. 파이썬에서 리스트 이름을 if문에 사용하면 리스트에 항목이 최소한 하나 이상이 있을 때는 true를 반환하고 그렇지 않다면 빈 리스트에 대해 false로 평가 합니다. 

#3을 통해 조건 테스트에 실패하여 빈 리스트로 평가 되고 print에 입력된 메시지가 결과 값으로 출력 됩니다. 

 

 

 

- if문으로 여러 리스트 다루는 법 

 

예제13)

available_one = ['mushrooms', 'olives', 'green peppers',
                 'pepperoni', 'pineapple', 'extra cheese']

requested_one = ['mushrooms', 'french fries', 'extra cheese']

for requested_two in requested_one:
  if requested_two in available_one:
    print(f"adding {requested_two}")
  else:
    print(f"sorry")

print("\nFinish")

 

결과 값

adding mushrooms
sorry
adding extra cheese

Finish

 

 

 

 

728x90
반응형
그리드형

댓글