• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

영어 단어 맞추기 게임 응용

20.05.04 17:06 작성 조회수 460

1

박사님이 코딩하셨던 영어 단어 맞추기 게임을 응용해서 사용자가 단어를 입력했을 때 만약 그 단어가 틀렸다면 컴퓨터가 맞는 글자와 그 위치를 알려주는 코드를 짜고 싶은데 어떤 함수를 사용해야 할지 모르겠습니다. 

예를 들어 사용자가 사과를  affle로 입력했을 때 'a**le' 이런 식으로 표시되게 하려면 직접 사용자 정의 함수를 통해 코드를 짜야 할까요?

답변 1

답변을 작성해보세요.

0

간단한 로직처럼 보이지만 입문자 입장에서 막상 코딩을 해보려고 하면 생각할께 참 많은 내용일 수도 있을것 같습니다. 강좌를 좀 더 진행하시면 비슷한 내용이 나오긴 합니다만 일단 간단하게 작성해보았으니 참고해보시기 바랍니다.

# 주어진 단어
word = "apple"

# 사용자에게 입력 받음
inputs = input("입력하세요>")

# 단어가 같다면 다른 처리 불필요
if word == inputs:
	print("OK")
else:
	# 주어진 단어의 길이와 입력된 단어의 길이를 구합니다.
	len_word = len(word)
	len_inputs = len(inputs)
	# 최종적으로 a**le 이렇게 출력할 문자열 변수
	result = ""
	# 입력된 글자가 주어진 단어수 보다 모자란 경우를 체크하기 위해 카운팅
	count = 0

	# 주어진 단어가 더 큰경우(입력된 단어가 모자란 경우)
	if len_word >= len_inputs:
		for i, v in enumerate(inputs):
			if v == word[i]:
				result += v
			else:
				result += "*"
			count += 1
	# 입력된 단어가 주어진 단어수보다 큰 경우(어떻게 할지 결정)
	else:
		for i, v in enumerate(word):
			if v == inputs[i]:
				result += v
			else:
				result += "*"
			count += 1
	# 입력된 단어가 모자란 경우 * 처리
	for i in range(len_word - count):
		result += "*"
	print(count, result)

위 코드에서 처럼 사용자가 입력한 값이 주어진 단어보다 길이가 큰 경우와 반대인 경우에 모두 처리를 해야 합니다.