카테고리 없음
챗GPT를 활용한 코딩 학습
jsBae
2024. 8. 13. 22:46
학습목표
챗GPT를 활용하여 pyhon 학습에 도움을 받아보자.
학습
간단한 Python 프로그램을 하나 작성해보고, 챗GPT를 활용해 그 과정을 기록해오도록 한다.
예: "사용자가 입력한 숫자가 짝수인지 홀수인지 판별하는 프로그램" 작성.
# 사용자의 입력을 받는다
number = int(input("숫자를 입력하세요: "))
# 짝수인지 홀수인지 판별
if number % 2 == 0:
print(f"{number}은(는) 짝수입니다.")
else:
print(f"{number}은(는) 홀수입니다.")
프로그램 설명:
- 입력 받기: input() 함수를 사용하여 사용자가 숫자를 입력하도록 한다. 입력받은 값은 문자열 형태이므로 int() 함수를 사용하여 정수로 변환한다.
- 짝수 판별: if 문을 사용하여 입력된 숫자가 2로 나누어 떨어지는지 확인한다. number % 2 == 0 조건이 참이면, 해당 숫자는 짝수이다.
- 홀수 판별: 만약 위의 조건이 참이 아니면, 숫자는 홀수로 판별된다.
- 출력: print() 함수를 사용하여 결과를 출력한다.
이 프로그램을 실행하면, 사용자가 입력한 숫자가 짝수인지 홀수인지 화면에 출력된다.
참고사항 :
- 코딩문제는 영어로 물어보면 더 좋다.
- 프로그램 역시 의도, 맥락, 단계를 나뉘어 질문한다.
실습
- 파이썬으로 로또 번호 생성 프로그램을 만들어 보자.
너는 파이썬프로그래머야
로또 번호 생성기를 만들어줘
이전 100회 번호와 겹치지 않게 번호를 생성해 줘
로또 번호 생성기는 1부터 45까지의 숫자 중 6개의 고유한 번호를 랜덤하게 선택한다. 이 번호들이 이전 100회 번호와 겹치지 않도록 생성하기 위해, 이전 회차의 번호들을 미리 입력한 후, 그와 중복되지 않는 번호 조합을 생성하는 프로그램을 작성할 수 있다.
import random
# 이전 100회 로또 번호를 리스트로 저장 (예시)
# 각 회차의 번호는 6개의 숫자로 이루어진 튜플로 저장된다.
previous_numbers = [
(1, 2, 3, 4, 5, 6), (7, 8, 9, 10, 11, 12), # ... 이와 같은 형식으로 100개의 번호 세트를 추가
# 예시이므로 실제 데이터로 교체해야 함
]
def generate_lotto_numbers():
while True:
# 1부터 45까지의 숫자 중에서 6개의 번호를 랜덤하게 선택
numbers = tuple(sorted(random.sample(range(1, 46), 6)))
# 이전 100회 번호와 중복되지 않으면 반환
if numbers not in previous_numbers:
return numbers
# 로또 번호 생성
new_lotto_numbers = generate_lotto_numbers()
print("생성된 로또 번호:", new_lotto_numbers)
프로그램 설명:
- 이전 회차 번호 저장: previous_numbers 리스트에 이전 100회차의 로또 번호를 저장한다. 각 회차의 번호는 튜플로 저장되며, 6개의 숫자를 포함한다. 이 예시는 간단히 두 개의 회차 번호만 추가했지만, 실제로는 100회차의 번호를 모두 추가해야 한다.
- 번호 생성 함수: generate_lotto_numbers 함수는 번호를 생성하고, 이 번호가 이전 회차의 번호와 중복되지 않을 때까지 반복하여 생성한다.
- random.sample()을 사용하여 1부터 45까지의 숫자 중 6개의 고유한 숫자를 선택한다.
- 선택된 번호는 오름차순으로 정렬한 후 튜플로 변환된다.
- 중복되지 않는 경우, 그 번호를 반환한다.
- 결과 출력: 중복되지 않는 로또 번호가 생성되면, 그 번호를 출력한다.
728x90
반응형