중첩 조건문 + 조건문 문제
2022. 9. 15. 23:50ㆍ파이썬(Python)
반응형
1. 중첩 조건문 작성
- if else 조건문 안에 또 다른 조건을 추가.
- 내부에 있는 조건문 작성 시 들여 쓰기 필수
Q) 남녀노소 구분
- 입력은 성별(M(남자) 또는 W(여자)), 나이
- 19세 이상을 성인
Man | 성인 남자 |
Woman | 성인 여자 |
Boy | 미성인 남자 |
Girl | 미성인 여자 |
inp=input().split()
gender, age=inp[0], int(inp[1])
if gender=='M':
if age>=19: print('Man')
else: print('Boy')
else:
if age>=19: print('Woman')
else: print('Girl')
결과
>> M 25
Man
>> W 11
Girl
Q) 윤년
- 입력한 연도가 윤년인지 판단 (True / False)
윤년 조건
- 4의 배수이면 윤년
- 4의 배수이면서 100의 배수이면 윤년 x
- 4의 배수이면서 100의 배수지만 400의 배수이면 윤년
year=int(input())
if year%4==0:
if year%100==0:
if year%400==0:
print('true')
else:
print('false')
else:
print('true')
else:
print('false')
# 간단한 풀이
year=int(input())
if (year%4==0 and year%100!=0) or year%400==0:
print('true')
else:
print('False')
결과
>> 2020
true
>> 2200
False
Q) 월의 일 수
- 월을 입력하면 월의 일 수를 출력
- 2월은 윤년이 아닌 28일
month=int(input())
if month==2:
print(28)
else:
if month<=7:
if month%2==1:
print(31)
else:
print(30)
else:
if month%2==0:
print(31)
else:
print(30)
결과
>> 2
28
>> 5
31
Q) 세 수의 중앙값 구하기
- 세 수 a, b, c에서 두 번째로 큰 수를 구하기
- a, b, c는 서로 다른 수
inp=input().split()
a,b,c=int(inp[0]),int(inp[1]),int(inp[2])
"""
b<a<c
c<a<b
a<b<c
c<b<a
a<c<b
b<c<a
"""
if a>b:
if c>a:
print(a)
elif b>c:
print(b)
else:
print(c)
else:
if a>c:
print(a)
elif c>b:
print(b)
else:
print(c)
결과
>> 16 98 42
42