inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬 기초부터 실전 100% 활용

숫자 야구게임 만들기 (파이썬기초, 랜덤함수, 반복문, 조건문)

24번째 줄 에서의 오류 ..?

208

June

작성한 질문수 4

1

import random
numbers =[]
number = str(random.randint(0,9))
#문자열로 다룬다, 문자열로 다루는 이유?
#코딩하다보면 안다.

for i in range(3):
#3번 반복
while number in numbers:
number = str(random.randint(0,9))
numbers.append(number)

count_strike = 0
count_ball = 0

while count_strike < 3:
count_strike = 0
count_ball = 0

num = str(input("숫자 3자리를 입력하세요 : "))
if len(num) == 3:
for i in range(0,3):
for j in range (0,3):
if num[i] == numbers[j] and i == j:
count_strike += 1
elif num[i] == number[j] and i != j:
count_ball += 1
if count_strike == 0 and count_ball == 0:
print("3 out!")
else:
output = ""
if count_strike > 0:
output += "{} 스트라이크".format(count_strike)
if count_ball > 0:
output += "{} ".format(count_ball)

print(output.strip())
print("게임 성공")
 
실행을 시켜보면
elif num[i] == number[j] and i != j: IndexError: string index out of range
 
라고 떠서 어떻게 해야할지 뭐가 문제인지 모르겠습니다..
 

python 웹-크롤링

답변 1

0

남박사

 

IndexError: string index out of range 오류는 해당 인덱스가 리스트의 범위를 벗어났다는 이야기인데 

 

for i in range(0,3):

    for j in range (0,3):

        print(num, i, j)

 

이런식으로 2중 for 문을 돌면서 num 값과 i, j 값을 출력해보며 어떤 값이 들어가있는지 어떤 경우에 오류가 발생하는지를 먼저 확인해봐야 할듯 합니다.

한글 변수의 한글 상태를 만드는 법?

0

59

1

38강 = 연산자 더하고 빼기

0

73

2

주석처리

0

129

1

함수의 파라미터값 msg

0

167

1

강의자료 이미지 안나옴

0

252

3

강의자료 질문 두번째

0

176

3

강의자료 관련 질문

0

124

1

파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.

0

248

1

소수 너무 어려워요

0

251

1

imagefont 함수 사용

0

245

1

pylint

0

362

1

add 함수 문의 ㅠㅠ

0

290

1

형식 문의드립니다.

0

220

1

변수 명을 왜 src, tar로 하셨는지 궁금합니다.

0

618

1

숫자야구 코드를 짜 봤는데 뭔가 이상합니다.

0

263

1

zsh: command not found: pylint

0

281

1

텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ

0

555

1

질문드립니다.

1

381

2

list.reverse() 출력에 대해서 질문있습니다.

1

441

1

데코레이터 함수 및 동작시간 질문입니다.~

1

337

2

opencv 사용하면서 궁금한점 (해상도)

1

789

1

질문드립니다.

1

306

1

아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?

1

451

1

크롤링안되는 현상 문의 드립니다.

1

433

1