제어문 중첩

 

- 이번 시간에는 제어문 중첩에 대해 알아보자.

if + if
for + if
while + if
for + for

 

 

 

이번에는 중첩된 제어문으로 프로그램을 하나 만들어 보려고 해.

사용자로부터 나이를 입력받은 후에 해당 나이가 어디에 속하는지 알려주는 프로그램이야.

입력받은 나이가 7세 이하면 유아, 19세 이하면 청소년, 20세 이상이면 성인에 해당 돼.

만약 청소년에 해당하면 한 번 더 분류해서 추가 정보를 제공해야 하는데, 13세 이하면 초등학생, 16세 이하면 중학생, 그외 나머지는 고등학생이라는 정보를 덧붙여서 출력하도록 해.

 

Copilot
 

물론, 중첩된 제어문을 사용하여 나이에 따라 분류하는 프로그램을 만들어보겠습니다. 아래는 Python으로 작성한 예시 코드입니다:

# 사용자로부터 나이 입력 받기
age = int(input("나이를 입력하세요: "))

# 나이에 따라 분류
if age <= 7:
    print("유아입니다.")
elif age <= 19:
    print("청소년입니다.")
    if age <= 13:
        print("초등학생입니다.")
    elif age <= 16:
        print("중학생입니다.")
    else:
        print("고등학생입니다.")
else:
    print("성인입니다.")
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

 

위 코드를 실행하면 사용자가 입력한 나이에 따라 해당하는 분류가 출력됩니다. 예를 들어, 10세를 입력하면 "청소년입니다. 초등학생입니다."가 출력될 것입니다.

 

더 궁금한 점이 있으시면 언제든지 물어보세요! 😊

 

 

 

 

좋아. 내가 원했던 내용으로 코딩된 것을 보니, 내가 프롬프트를 제대로 작성한 거 같아.

그러면, 이번에는 조금 변형된 프로그램을 만들어 보자.

 

사용자로부터 출생년도를 입력받은 후에 현재 나이가 어디에 속하는지 알려주는 프로그램을 만들려고 해.

입력받은 나이가 7세 이하면 "유아입니다." 를 출력하고, 

 

13세 이하면 "미성년자이고 초등학생입니다.",

16세 이하면 "미성년자이고 중학생입니다.",

19세 이하면 "미성년자이고 고등학생입니다." 를 출력하고,

 

그 외 나머지는 "성인입니다." 를 출력하게 해줘.

 

Copilot

물론, 사용자가 원하시는 내용으로 프로그램을 변형해보겠습니다. 아래는 수정된 Python 코드입니다:

# 사용자로부터 출생년도 입력 받기
birth_year = int(input("출생년도를 입력하세요: "))

# 현재 연도 (임의로 2023년으로 설정)
current_year = 2023

# 나이 계산
age = current_year - birth_year

# 나이에 따라 분류
if age <= 7:
    print("유아입니다.")
elif age <= 19:
    if age <= 13:
        print("미성년자이고 초등학생입니다.")
    elif age <= 16:
        print("미성년자이고 중학생입니다.")
    else:
        print("미성년자이고 고등학생입니다.")
else:
    print("성인입니다.")
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

 

위 코드를 실행하면 사용자가 입력한 출생년도를 기반으로 나이에 따라 해당하는 분류가 출력됩니다. 예를 들어, 2005년 출생자가 입력하면 "미성년자이고 고등학생입니다."가 출력될 것입니다.

 

더 궁금한 점이 있으시면 언제든지 물어보세요! 😊

 

 

 

 

한국에서는 현재 연도에서 출생년도를 뺀 후에 1을 더해줘야 해. 

그리고, 현재 연도를 임의로 설정하는 방법 말고, 실시간으로 반영하는 방법은 없니?

 

Copilot

네, 이해합니다! 한국에서는 현재 연도에서 출생년도를 빼고 1을 더해주어야 합니다. 그리고 현재 연도를 실시간으로 반영하는 방법도 있습니다. Python에서 현재 연도를 얻는 방법은 다양한데요, 아래에서 두 가지 방법을 소개해드리겠습니다:

  1. datetime 모듈 사용:
    • datetime 모듈을 사용하여 현재 연도를 얻을 수 있습니다.
    • 아래 코드는 현재 연도를 출력하는 예시입니다:
      import datetime
      
      current_year = datetime.datetime.now().year
      print(f"현재 연도: {current_year}")
      
      AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
  2. date.today() 메서드 사용:
    • date.today() 메서드를 사용하여 오늘의 날짜를 얻을 수 있습니다.
    • 아래 코드는 오늘의 연도를 출력하는 예시입니다:
      import datetime
      
      current_year = datetime.date.today().year
      print(f"오늘 연도: {current_year}")
      
      AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

이러한 방법을 사용하면 현재 연도를 실시간으로 얻을 수 있습니다. 원하시는 방법을 선택하여 사용하시면 됩니다! 😊

 

 

 

 

좋아. 자세한 내용은 아직 배우지 않아서 모르겠지만, 일단 너의 도움으로 프로그램을 완성해 보기로 하자. 

date.today() 메서드를 사용해서 전체 프로그램을 완성해줘.

 

Copilot

물론, 사용자가 원하시는 내용으로 프로그램을 완성해드리겠습니다. 아래는 수정된 Python 코드입니다:

import datetime

# 사용자로부터 출생년도 입력 받기
birth_year = int(input("출생년도를 입력하세요: "))

# 현재 연도
current_year = datetime.date.today().year

# 나이 계산
age = current_year - birth_year + 1

# 나이에 따라 분류
if age <= 7:
    print("유아입니다.")
elif age <= 19:
    if age <= 13:
        print("미성년자이고 초등학생입니다.")
    elif age <= 16:
        print("미성년자이고 중학생입니다.")
    else:
        print("미성년자이고 고등학생입니다.")
else:
    print("성인입니다.")
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

 

위 코드를 실행하면 사용자가 입력한 출생년도를 기반으로 나이에 따라 해당하는 분류가 출력됩니다. 예를 들어, 2006년 출생자가 입력하면 "미성년자이고 고등학생입니다."가 출력될 것입니다.

 

더 궁금한 점이 있으시면 언제든지 물어보세요! 😊


 

- 코파일럿이 완성해 준 위 소스코드를 복사해서 직접 실행해 보았다.

 

 

- 위와 같이 정상 작동하는 것을 확인할 수 있었다. 굿!!

 

 

 

 

좋아, 제어문이 중첩된 다른 프로그램도 만들어 보자.

사용자로부터 숫자를 입력받은 후에 1부터 입력 숫자까지 1씩 증가시키면서 출력할 건데, 만약 출력해야 할 숫자가 3의 배수에 해당하면 숫자 대신 'X' 를 출력해줘.

 

Copilot

물론, 사용자가 원하시는 내용으로 프로그램을 작성해드리겠습니다. 아래는 수정된 Python 코드입니다:

# 사용자로부터 숫자 입력 받기
number = int(input("숫자를 입력하세요: "))

# 1부터 입력 숫자까지 반복
for i in range(1, number + 1):
    if i % 3 == 0:
        print("X", end=" ")
    else:
        print(i, end=" ")
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

 

위 코드를 실행하면 사용자가 입력한 숫자까지 1씩 증가시키면서 출력됩니다. 만약 출력해야 할 숫자가 3의 배수에 해당하면 숫자 대신 'X’가 출력될 것입니다.


 

- 실행 결과, 정상적으로 작동하였다.

 

 

 

일단, 여기까지...

 

+ Recent posts