파이썬 프로그레밍 도와주세요

파이썬 프로그레밍 도와주세요

작성일 2023.06.15댓글 1건
    게시물 수정 , 삭제는 로그인 필요

def click(key):
    global no
    no=key
    mabagList.extend(m2List[no])
이런 코드인데요. 신호가오면 m2List의 특정한 숫자 저장된 게 mabagList로 이동되는거예요
그런데TypeError: list indices must be integers or slices, not str 이런게 출력되네요 ㅠㅠ
도와주세요!



profile_image 익명 작성일 -

TypeError: list indices must be integers or slices, not str 오류는 리스트의 인덱스로 문자열 데이터 타입이 사용되었기 때문에 발생한 것으로 보입니다.

m2List의 인덱스에 문자열(str) 타입인 no를 사용했기 때문입니다. 문제를 해결하려면, 전역 변수 no를 선언할 때 정수(int)로 변환하거나 click(key) 함수 내에서 정수로 변환하면 됩니다.

방법 1 - 함수 내에서 정수로 변환하기:

def click(key):

global no

no = int(key) # 정수로 변환

mabagList.extend(m2List[no])

방법 2 - 전역 변수에서 변환하기 (이 경우, 함수 외부에서도 사용하게 된다면 no를 꼭 정수로 변환해야 함):

no = int(사용할_값) # 예를 들어: no = int('2'), no = int(input("Enter a number: "))

def click(key):

global no

no = key

mabagList.extend(m2List[no])

이렇게 수정하면 오류가 발생하지 않아야 하고, 원하는 작동을 할 것입니다.

파이썬 프로그레밍 도와주세요

... ㅠㅠ 도와주세요! TypeError: list indices must be integers or slices, not str 오류는 리스트의 인덱스로 문자열 데이터 타입이 사용되었기 때문에 발생한...

ㅠㅠ(프로그레밍이 처음입니다)

... 생겨서 프로그레밍 언어중 그나마 쉽고 재밌다고 하기에 파이썬을 독학하고 있는... 도와주세요ㅠㅠ 여기 있수다 여기서...