4
일부 파이썬 코드 (간단한 것들)에 약간의 문제가 있습니다.오브젝트는 아래 첨자가 아닙니다.
Data = [1, 2, 3, 4, 5]
Frequency = [1, 2, 3, 3, 1]
def mode(data1, frequency1):
mode = [0]
count = 0
while count != len(frequency1):
if frequency1[count] > mode[0]:
mode = data1[count]
elif frequency1[count] == mode:
mode = [mode, data1[count]]
count +=1
return mode
mode = mode(Data, Frequency)
print(mode)
그것은 반환 :
if Frequency[0] > mode[0]:
TypeError: 'int' object is not subscriptable
I 은 여기
코드의 ... 나는 충분히 번 실행을 클릭하면 작동 할 수 바라고 점에 점점 다른 질문을 한 번 보았습니다 & 대답하지만 그것은 저를 넘어 보입니다. 어디서 잘못 될까요!편집 : 평균을 찾기 위해 가져올 수있는 모듈이 있지만 아무 것도 가져 오지 않고 모듈을 만들고 싶습니다.
편집 : 전체 코드가 게시되었습니다. 모드 변수를리스트로 만들지 않으면 두 가지 모드가있을 때까지 괜찮습니다.
오른쪽 ...'모드'는'int'입니다 ... 일부 목록이 아닙니다 ... 목적에 따라 변수 이름을 재사용하지 말고 각각 다른 용도로 다른 이름으로 다른 변수를 선언하십시오. –
코드가 무엇을 하려는지 이해하지 못합니다. 'mode [0]'가 정수로 변환해야 할 필요가있는 것은 무엇입니까? 이전 모드와 새로운 모드를'mode'로리스트에 함께 저장하는 이유는 무엇입니까? – abarnert
부수적으로'count = 0','while count! = len (frequency1) :''frequency1 [count]'루프는'for frequency1 :'로 대체 될 수 있습니다. 만약 어떤 이유로'count'가 필요하다면'for count, frequency in enumeration (frequency1) :'을 사용하십시오. 그러나 lockstep에서 다른 목록을 색인하기 위해'count' 만 필요하다면 그렇게하지 마십시오. 그냥 주파수를 위해서, 데이터는 우편 번호 (frequency1, data1) :'. 그러나 수동 루프 카운터 관리를 제거하면 많은 잠재적 인 버그를 쉽게 제거 할 수 있습니다. – abarnert