중첩 조건문 + 조건문 문제

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

 

 

 

'파이썬(Python)' 카테고리의 다른 글

반복문_while  (0) 2022.09.17
반복문(for)  (0) 2022.09.16
조건문3  (0) 2022.09.15
조건문2  (0) 2022.09.13
if 조건문  (0) 2022.09.12