[파이썬] 비교문, 논리연산자, 조건문 : ==, !=, >, <, and, or, if, elif, else
파이썬에는 두개의 값이 같은지 다른지 비교하는 비교연산자가 있다.
비교연산자
- == : 같은가
- != : 다른가
- > : 왼쪽 값이 오른쪽 값보다 큰가
- < : 왼쪽 값이 오른쪽 값보다 작은가
- >= : 왼쪽 값이 오른쪽 값과 같거나 큰가
- <= : 왼쪽 값이 오른쪽 값과 같거나 작은가
# 비교연산자는 확정짓는것이 아니라 "같은가?", "큰가?" 처럼 질문을 하는것이다
# 비교연산자의 답은 항상 True 아니면 False가 나오게 된다.
in: password = '1234'
in: len(password) >= 6
out:
False
논리연산자 And 와 Or
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
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('회원가입 완료')
※ 조건문을 쓸때는 항상 순서와 들여쓰기에 주의하자!