오늘은 조건문 비교/논리 연산자에 대해 공부했다
조건문 완전 재밌어!
조건문은 왜 쓸까?
프로그램문을 작성하다 보면 여러 선택지 중 한가지를 결정해서 실행하는 경우가 많다
if 조건 표현식:
<코드블록>
코드블록은 들여쓰기 필수
4칸 띄워쓰거나 탭(tab) 사용
한가지 방법으로만 쓰는것이 좋음
중첩 조건문
elif 또는 else if / else
| 연산자 | 설명 | 예제 |
|---|---|---|
| == | 값이 같은지 비교 | a == b |
| != | 값이 다른지 비교 | a != b |
| > | 왼쪽 값이 오른쪽 값보다 큼 | a > b |
| < | 왼쪽 값이 오른쪽 값보다 작음 | a < b |
| >= | 왼쪽 값이 오른쪽 값보다 크거나 같음 | a >= b |
| <= | 왼쪽 값이 오른쪽 값보다 작거나 같음 | a <= b |
| 연산자 | 설명 | 예제 |
|---|---|---|
| and | 모든 조건이 참이어야 참 | a and b |
| or | 조건 중 하나만 참이면 참 | a or b |
| not | 조건의 반대를 반환 | not a |
a = input("첫번째 문자열을 입력하세요: ")
b = input("두번째 문자열을 입력하세요: ")
if (a == b) and len(a) == len(b):
print("두 문자열은 같은 문자열이고", end=" ")
print("두 문자열의 길이가 같습니다")
elif (a != b) and len(a) == len(b):
print("두 문자열은 같지 않고", end=" ")
print("두 문자열의 길이가 같지 않습니다")
else:
print("두 문자열은 완전히 다릅니다")

num1= int(input("첫번째 숫자를 입력하세요: "))
num2= int(input("두번째 숫자를 입력하세요: "))
if num1 % num2 == 0 and (num1 + num2) >= 100 :
print(f"{num1}과 {num2}는 배수 관계이고," , end=" ")
else:
print(f"{num1}과 {num2}는 배수 관계가 아니고," , end=" ")
if (num1 + num2) >= 100 :
print("두 수의 합은 100 이상입니다")
else:
print("두 수의 합은 100 미만입니다")

buying = float(input("구매 금액을 입력하세요:"))
if buying >= 100000 :
print(f"할인된 가격은 {buying * 0.9 : .2f}원 입니다 ")
elif buying >= 50000 :
print(f"할인된 가격은 {buying * 0.95 : .2f}원 입니다 ")
else:
pass

ch = input("성별을 입력하세요: ")
year = int(input("나이를 입력하세요:"))
if year >= 20 :
if ch == "남자":
print("헬스장을 추천합니다")
elif ch == "여자":
print("요가를 추천합니다")
else :
print("공부를 추천합니다")

year = int(input("년을 입력하세요: "))
month = int(input("월을 입력하세요: "))
day = int(input("일을 입력하세요: "))
if month < 1 or month > 12:
print("유효하지 않은 날짜입니다")
else:
if month == 2 and 1 <= day <= 28:
print(f"{year}년 {month}월 {day}일은 유효한 날짜입니다")
elif month == ( 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12) and (1 <= day <= 31):
print(f"{year}년 {month}월 {day}일은 유효한 날짜입니다")
elif month == (4 or month == 6 or month == 9 or month == 11) and (1 <= day <= 30) :
print(f"{year}년 {month}월 {day}일은 유효한 날짜입니다")
else:
print("유효하지 않은 날짜입니다")

📌 큰 가지인 month 부터 유효한지 확인하고 day 유효한지 확인
year = int(input("연도를 입력하세요: "))
if year <= 0 :
print("유효하지 않은 연도 또는 월입니다.")
else:
month = int(input("월을 입력하세요: "))
if year > 0 and 1 <= month <= 12:
print(f"{year}년 {month}월은 유효한 날짜입니다.")
else:
print("유효하지 않은 연도 또는 월입니다.")

import random
a1= random.randint(1 , 99)
a2= random.randint(1 , 99)
a3= random.randint(1 , 99)
print(" 난수 3개는: ", a1, a2, a3)
if a1 > a2 :
max_n = a1
else:
max_n = a2
if max_n > a3 :
print(f"가장 큰 수는 {max_n} 입니다")
else :
max_n = a3
print(f"가장 큰 수는 {max_n} 입니다")

import random
a1 = random.randint(1, 100)
a2 = random.randint(1, 100)
a3 = random.randint(1, 100)
a4 = random.randint(1, 100)
print(a1, a2, a3, a4)
if a1 < a2 :
min_n1 = a1
else :
min_n1 = a2
if a3 < a4 :
min_n2 = a3
else :
min_n2 = a4
if min_n1 < min_n2 :
print(f" 가장 작은 수는 {min_n1}")
else :
print(f"가장 작은 수는 {min_n2}")
