1-4-2. Python 조건문 활용해 보기
Python 조건문은 앞에서 설명한 내용과 같이
특정 조건에 의해 발생하는 [조건문]입니다.
홀수번/짝수번과 같이
정 반대되는 상황을
모두 if를 사용하여 코드를 작성하는 것은
좋은 조건문 사용방식이 아닙니다.
따라서 다음과 같이 사용하게 합니다.
Python 조건문에서 else 활용
if 의 조건이 거짓[False]인 경우
else에 적힌 코드가 실행되게 됩니다.
if 조건: 조건이 참일 때 실행할 문장 else: 조건이 거짓일 때 실행할 문장
[예시1]
범위 확인하는 조건문
# 사용자가 입력한 숫자가 -10부터 10 사이는 "안쪽입니다"를 출력하고 이외에는 "바깥쪽입니다"를 출력하는 코드를 작성해보기 #입력 받기 number = input("정수를 입력하세요> ") # 절댓값 함수 abs() number = abs(int(number)) if number <= 10: print("안쪽입니다.") else: print("바깥쪽입니다.")
[예시2]
나눗셈 나머지가 0인지 확인
# 변수 입력받고 정수변환 number = int(input("숫자를 입력해주세요")) devide = int(input("나누어 볼 숫자를 입력해주세요")) if number % devide == 0: print("나누어 떨어집니다.") else: print("나누어 떨어지지 않습니다.")
[예시3]
윤년 계산기 만들어보기
year = int(input("year를 입력해주세요 >")) # 4로 나누어떨어지면 윤년 # 100으로 나누어떨어지면 윤년 아님 # 400으로 나누어떨어지면 윤년 if (year % 4) == 0: if (year % 100): if (year % 400): print(f"{year}년은 윤년입니다.") else: print(f"{year}년은 평년입니다.") else: print(f"{year}년은 윤년입니다.") else: print(f"{year}년은 평년입니다.")
year에 조건을 주어
if문을 간결하게 만든다면 아래와 같습니다.
year = int(input("year를 입력해주세요 >")) if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: print(f"{year}년은 윤년입니다.") else: print(f"{year}년은 평년입니다.")
조건 비교가 많아질 수록 시간 차이가 커집니다.
if / elif / else
한 비교문에서 [조건 A], [조건 B], [조건 C] ㆍㆍㆍ에 따라
실행이 달라져야 한다면 사용하는 구문입니다.
위의 코드에서 10일 경우는 “경계입니다” 라는
문구를 출력하는 코드를 작성해보겠습니다.
비교하기
# 코드 정리 number = input("정수를 입력하세요> ") # 절댓값 함수 abs() number = abs(int(number)) if number < 10: print("안쪽입니다.") elif number == 10: print("경계입니다.") else: print("바깥쪽입니다.")
롤러코스터 가격
키(height)라는 조건을 달성하면
나이를 입력받아 요금을 결정하게 되는 방식입니다.
print("키를 입력해주세요") height = int(input("cm단위의 숫자만 입력해주세요")) # 조건문 if height > 150: print("키를 충족하였습니다.") age = int(input("나이를 입력해주세요")) if age < 13: print("가격은 3000원 입니다.") elif age < 19: print("가격은 5000원 입니다.") else: print("가격은 8000원 입니다.") else: print("키가 작아 탈 수 없습니다.")
BMI 계산해보기
# 키 몸무게 height = float(input("키를 m로 입력해주세요 : ")) weight = float(input("몸무게를 kg로 입력해주세요 : ")) # bmi 계산 bmi = round(weight / height **2) if bmi < 18.5: print(f"Your bmi is {bmi}, you are underweight.") elif bmi < 25: print(f"Your bmi is {bmi}, you are normalweight.") else: print(f"Your bmi is {bmi}, you are obese")
if 옆에오는 조건은 사실 boolan 값입니다.
따라서
True는 컴퓨터가 1을 의미하고
False는 0을 의미합니다.
if 0: 이라 작성하면 조건이 무조건 Fasle여서
else 값을 하거나
elif에 true가 있다면 그것을 출력하게 됩니다.
if 1: 로 작성하신다면
조건이 무조건 True여서
이 조건에 해당하는 코드를 실행합니다.
pass 키워드
프로그래밍의 전체 골격을 잡아 놓고
내부에 처리할 내용을 만들겠다는
의도로 만드려면
우선 if문 내부를 통과하게 만들어야 합니다.
number = input("정수를 입력하세요> ") # 절댓값 함수 abs() number = abs(int(number)) if number < 10: #미구현 상태 pass elif number == 10: #미구현 상태 pass else: #미구현 상태 pass
이와 같은 형태로 코드가 작성됩니다.
pass를 사용하지 않는다면 0을 넣습니다.
만약 아무것도 작성하지 않고
elif등을 사용한다면 IndentationError를 발생합니다.
핑백: 1-5-1. Python 리스트와 반복문 활용하기 » 코드 한입