Python

[파이썬] 비교문, 논리연산자, 조건문 : ==, !=, >, <, and, or, if, elif, else

eyoo 2022. 4. 21. 09:32

파이썬에는 두개의 값이 같은지 다른지 비교하는 비교연산자가 있다.

 

비교연산자

  • == : 같은가
  • !=  : 다른가
  • >   : 왼쪽 값이 오른쪽 값보다 큰가
  • <   : 왼쪽 값이 오른쪽 값보다 작은가
  • >= : 왼쪽 값이 오른쪽 값과 같거나 큰가
  • <= : 왼쪽 값이 오른쪽 값과 같거나 작은가

# 비교연산자는 확정짓는것이 아니라 "같은가?", "큰가?" 처럼 질문을 하는것이다

# 비교연산자의 답은 항상 True 아니면 False가 나오게 된다.

 

in: password = '1234'

in: len(password) >= 6

out:

False

 

논리연산자 And 와 Or 

Copyright by Doopedia.co.kr

 

and 연산자는 and 양쪽의 값이 모두 True이어야 값이 True가 나오며 나머지는 모두 False로 나온다.

 

in: 3 and 4 > 1

out:

True

 

in: True and False

out:

False

 

 

비밀번호 길이가 4자리 이상이고 12자리 이하면 서버로 데이터를 보낸다.

 

in: password = '1234'

in: len(password) >= 4 and len(password) <=12

out:

True

 

Copyright by Doopedia.co.kr

 

or 연산자 or 양쪽의 값이 하나라도 True면 값이 True가 나오며 모두 False면 False로 나온다.

 

in: True or False

out: 

True

 

 

비밀번호 길이가 4자리 미만이거나 12자리를 넘어가는지 확인해라.

 

in: password = '123'

in: len(password) < 4 or len(password) > 12

out: 

True

# or 는 한국어로 또는, 거나
# and는 한국어로 그리고, ~하며

 

 

CONDITIONAL STATEMENTS


파이썬에서 조건문은 if, elif, else를 사용한다.

 

조건문이란, 우리 일상생활에서 흔히 쓰는 문장. ( if : ~ 라면, ~ 한다)

비가 오면 우산을 들고 나가고, 비가 오지 않으면 운동화를 신고 간다.
배가 고프면 사과를 먹고, 배가 고프지 않으면 콜라를 먹는다.

 

 

5가 2보다 크면 If condition is True 를 출력하고, 그렇지 않으면, If condition is False를 출력한다.

 

In:

if 5 > 2 : 
    print('if condition is True')
else:
    print('if condition is False')

out:

if condition is True

# 조건 + 행동(액션) = 조건문이라고 한다 
# 조건문의 시작은 if  로 시작하고 조건 끝에 콜론 ' : '을 찍는다
# 행동(액션)은 해당 조건에 맞게 들여쓰기에다 쓴다

 

 

If 결과값이 False가 되게 해보자.

 

In:

if 5 < 2 : 
    print('if condition is True')

out:

# 조건문이 True가 아니면 건너뛴다.

 

 

else를 추가하여 어떤식으로 돌아가는지 확인해 보자

 

in:

if 5 < 2 : 
    print('if condition is True')
    print(number)
else:
    print('if condition is False')
    print('Bye')

out:

if condition is False
Bye

#  if 단계에서 False를 받고 건너뛰며 else단계의 실행문을 실행시킨다.

 

 

elif를 사용하여 여러 단계의 조건문을 넣어보자

 

in:

apple_count = 7

if apple_count >= 10 :
    print('사과를 구매할 필요 없습니다. 여유 있습니다.')
elif apple_count >= 5 :
    print('사과가 적절량을 유지하고 있습니다.')
elif apple_count >= 2 :
    print('사과를 구매할 시기입니다.')
else: 
    print('사과가 다 떨어져 갑니다.')
print('hello')

out:

사과가 적절량을 유지하고 있습니다.
hello

조건문을 작성할때 주의해야 되는점 몇가지가 있다:

1. if, elif, else와 같은 조건문 끝에 콜론 ' : '이 있는지 확인하자.

2. 항상 변수의 타입에 주의하자. (문자열에 비교문, 정수에 len 함수 등의 사용은 에러가 뜰 수있다.)

3. 탭 'tab' 키를 눌러 들여쓰기를 사용하며 들여쓰기에 유의하자.

 

<실습>

 

바람의 속도를 입력받아서, 해당 바람의 속도가 다음과 같을 경우, 해당되는 문자열을 출력하세요.
만약 유저가 1보다 작은 값을 입력하면, "1보다 큰 수를 입력하세요"를 출력합니다.

speed = input('풍속을 입력하세요: ')

if int(speed)<1:
    print("1보다 큰 수를 입력하세요")
elif int(speed) >= 64:
    print('Hurricane')
elif int(speed) >= 48 and int(speed) <= 63 :
    print('Storm')
elif int(speed) >= 28 and int(speed) <= 47 :
    print('Gale')
elif int(speed) >= 4 and int(speed) <= 27 :
    print('Breeze')
else:
    print('Light air')

 

 

회원가입을 하려 합니다. 유저한테 이메일과 비밀번호를 입력받습니다.
    1)유저한테 이메일을 입력받습니다. 이때 이메일주소 형식(@)이 잘못 되었으면, 다시 입력하세요 를 출력합니다.
    2)이메일 주소가 잘 입력되었으면, 이제 비밀번호를 두번 입력받습니다.
    3)만약 첫번째 입력한 비밀번호와, 두번째 입력한 비밀번호가 다르면, 비밀번호가 일치하지 않습니다 를 출력합니다.

 

email = input('이메일을 입력하세요: ')

if email.count('@') != 1:
    print('다시 입력하세요')
else:
    password = input('비밀번호를 입력하세요: ')
    password2 = input('비밀번호를 한번 더 입력하세요: ')
    if password != password2 :
        print('비밀번호가 일치하지 않습니다')
    else:
        print('회원가입 완료')

 

 

비밀번호 길이가 4자 이상 8자이하만 받을수 있도록 코드를 수정해보자.

 

email = input('이메일을 입력하세요: ')

if email.count('@') != 1:
    print('다시 입력하세요')
else:
    password = input('비밀번호를 입력하세요: ')
    if len(password)<4 or len(password)>8:
        print('비밀번호 길이를 4자에서 8자로 설정해주세요')
    else:
        password2 = input('비밀번호를 한번 더 입력하세요: ')
        if password != password2 :
            print('비밀번호가 일치하지 않습니다.')
        else:
            print('회원가입 완료')

조건문을 쓸때는 항상 순서와 들여쓰기에 주의하자!