파이썬 코드 string indices must be integers 도움 요청해요

조회수 1559회
def stock(Data, low, high, where_up, where_down, median, period):

 for i in range(len(Data)):
    Data[i, where_up] = max(Data[i - period:i + 1, 1])


stock("Data", 2, 1, 4, 5, 6, 20)


Traceback (most recent call last):
  File "C:/Users/user/PycharmProjects/bot/grammer/연습문제.py", line 2179, in <module>
stock("Data", 2, 1, 4, 5, 6, 20)
  File "C:/Users/user/PycharmProjects/bot/grammer/연습문제.py", line 2176, in stock
Data[i, where_up] = max(Data[i - period:i + 1, 1])
   TypeError: string indices must be integers

이렇게 뜨는데 뭐가 문제인지 모르겠습니다. 고수님들 예시로 수정하는 방법 좀 알려주셨으면 감사하겠습니다. 도움 요청합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 위의 오류는 문자열을 slice할 때의 index로 정수가 아닌 값이 들어갔을 때 발생합니다. period값이 무엇인지는 모르겠지만 int(period)와 같이 정수로 바꿔서 다시 실행해보세요 HIAOAIH 2021.4.7 17:04
  • 고수님 안되는데요 알 수 없는 사용자 2021.4.7 18:39
  • period에는 정수 20을 파라미터로 넘겨주는데요, 분명히 정수인데 안되요 알 수 없는 사용자 2021.4.7 18:43
  • 아까는 코드를 잘 안봤었는데 다시 보니 Data[i, where_up] 부분에서 문자열 인덱싱 할 때 ':'이 아닌 ','을 사용하고 계시네요 HIAOAIH 2021.4.7 20:20
  • 고수님 저렇게 바꿔도 안되는데요ㅠㅠㅠㅠㅠ 그냥 밑에 답변작성란에 코드 적어주시면 안될까요??? ':' 바꿔도 계속 애러가 떠요 알 수 없는 사용자 2021.4.7 21:17
  • max(Data[i - period:i + 1, 1]) 부분에도 ','이 있으니 그렇겠죠 HIAOAIH 2021.4.7 22:42

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)