[요청]
세 자리 자연수를 랜덤으로 만드는데, 중복된 숫자가 없게 만들고, 그 수를 맞추는 게임을 파이썬으로 코딩해줘. 숫자의 자리까지 맞으면 “스트라이크”, 자리는 맞지 않는데 숫자가 있으면 “볼”, 세자리 숫자가 모두 없으면 “아웃”이라고 해줘.
[ChatGPT의 답변]
중복된 숫자가 없는 세 자리 자연수를 랜덤으로 생성하고, 사용자가 이 숫자를 맞추는 게임을 파이썬으로 구현해보겠습니다. 아래는 그런 게임을 위한 코드 예제입니다:
[코드]
import random
# 중복 없는 세 자리 자연수 생성
def generate_unique_random_number():
digits = list(range(10))
random.shuffle(digits)
return ''.join(map(str, digits[:3]))
# 비교 함수
def compare_numbers(random_number, user_guess):
strikes = 0
balls = 0
for i in range(3):
if random_number[i] == user_guess[i]:
strikes += 1
elif user_guess[i] in random_number:
balls += 1
if strikes == 3:
return "정답입니다!"
elif strikes > 0 or balls > 0:
return f"{strikes} 스트라이크, {balls} 볼"
else:
return "아웃"
# 게임 실행
if __name__ == "__main__":
random_number = generate_unique_random_number()
attempts = 0
print("중복 없는 세 자리 숫자 맞추기 게임을 시작합니다!")
while True:
user_guess = input("세 자리 숫자를 입력하세요: ")
if not user_guess.isdigit() or len(user_guess) != 3:
print("올바른 형식의 숫자를 입력하세요.")
continue
attempts += 1
result = compare_numbers(random_number, user_guess)
print(result)
if result == "정답입니다!":
print(f"축하합니다! {attempts}번 만에 맞추셨습니다.")
break

[설명]
이 코드는 중복 없는 세 자리 숫자를 랜덤으로 생성하고, 사용자가 이 숫자를 맞출 때까지 힌트를 제공합니다. 정답을 맞출 때까지 몇 번의 시도가 걸리는지 확인할 수 있습니다.
[결과 확인]

백의 자리에 0이 나오지 않도록 더 구체적인 요청 필요.
'Code of AI' 카테고리의 다른 글
[Bing AI] 구구단 식을 만드는 파이썬 코드 (0) | 2023.09.12 |
---|---|
[ChatGPT] 여러 랜덤 수 출력 파이썬 코드 (0) | 2023.09.11 |
[ChatGPT] 엑셀 시트를 각각 저장하는 VBA 코드 (0) | 2023.09.09 |
[ChatGPT] 파워포인트 명패를 만드는 VBA 코드 (0) | 2023.09.07 |
[ChatGPT] 숫자 맞추기 업다운 게임 Python 코드 (0) | 2023.09.06 |