[처음 시작하는 파이썬] ch4. 선택하기: if

2023. 1. 19. 09:07파이썬

4.1 주석 달기: #

4.2 라인 유지하기: \

코드 한 줄을 라인이라고 부릅니다.

이 라인을 유지하면서 한줄을 벗어나기 위해서 백슬래시 \ 를 써줍니다.

 

sum = 0
sum += 1
sum += 2
sum += 3
sum += 4
print(sum)
10

결국엔 1+2+3+4를 구해주겠다는 건데

이렇게 코드를 짜면 너무 번거롭습니다.

 

sum = 1 + \
2 +\
3 +\
4
print(sum)
10

 

sum = (
1+
2+
3+
4)
print(sum)
10

이렇게 괄호 안에 표현식이 있다면 여러줄에서도 잘 작동합니다. (중괄호, 대괄호 마찬가지) 

 

4.3 비교하기: if, elif, else

if와 else는 조건이 True인지 False인지 확인하는 선언문입니다.

 

disaster = True
if disaster:
    print("Woe!")
else:
    print("Whee!")
Woe!

disaster이라는 변수값이 True인지 False인지 확인하는 선언문입니다.

 

if에서 True니까 Woe!가 출력됩니다.

 

furry = True
large = True

if furry:
    if large:
        print("It's a yeti.")
    else:
        print("It's a cat!")

else:
    if large:
        print("It's a whale!")
    else:
        print("It's a human. Or a hairless cat.")
It's a yeti.

furry가 True이므로 if furry안의 코드를 확인합니다.

large가  True이므로 It's a yeti.가 출력됩니다.

else문은 무시됩니다.

 

color = "mauve"
if color == "red":
    print("It's a tomoto")
elif color == "green":
    print("It's a green pepper")
elif color == "bee purple":
    print("I don't know what it is, but only bees can see it")
else:
    print("I've never heard of the color", color)
I've never heard of the color mauve

현재 color 변수에 모르는 color 값이 대입돼서 if문 elif문 무시되고 else문이 작동됩니다.

 

비교연산자

대입이 아닌 비교를 해주는 비교 연산자들이 있습니다.

 

x = 7
print(x)
print(x == 7)
7
True

x = 7 을 통해 x에 7을 할당해줬습니다.

x == 7 은 x에 7을 대입하는 게 아니라 비교 연산자가 쓰였기 때문에

x가 7이 맞는지 아닌지 비교해보고 불린 값을 출력해줍니다.

 

4.4  True와 False

다음은 모두 False로 간주됩니다.

 

some_list = []
if some_list:
    print("There's something in here")
else:
    print("Hey, it's empty!")
Hey, it's empty!

some_list = [ ] 인데, 이 빈 리스트 값은 False라고 할 수 있습니다.

그렇기에 if문은 무시되며, else문이 작동됩니다.

 

4.5  여러 개 비교하기: in

letter = 'o'
if letter == 'a' or letter == 'i' or letter == 'u' or letter == 'e' or letter == 'o':
    print(letter, "is a vowel")
else:
    print(letter, "is not a vowel")
o is a vowel

어떤 문자가 모음인지 확인하는 코드를

if문 사용해서 나타내봤습니다.

 

이처럼 한 변수에 여러 값을 비교할 때 연산자 in을 사용할 수 있습니다.

 

vowels = 'aeiou'
letter = 'o'

if letter in vowels:
    print(letter, "is a vowel")
o is a vowel

연산자 in을 사용하여 vowels 안에 letter에 할당한 값 'o'가 있는지 판단하고

True라면 is a vowel을 출력합니다.

 

vowels = 'aeiou'
letter = 'n'

if letter not in vowels:
    print(letter, "isn't a vowel")
n isn't a vowel

이전 상황에서 else를 쓰면 모음이 아닌 값일 때도 출력이 가능하겠지만,

if문에서 모음이 아닌 값을 판별하기 위한 코드를 짜려면

in 앞에 not을 붙여 not in vowels라고 써주면 됩니다.

 

in 연산자가 string(vowels는 문자열)에 적용되는 경우를 보았는데

in 연산자는 set, list, tuple, string, dict 와 같은 데이터 타입에 사용이 가능합니다.