2014-12-19 3 views
-2

나는 이것이 기본 일지 모른다는 것을 이해하지만, 평균값과 중앙값을 찾기위한 두 가지 함수를 만들고 그것들을 입력을 요청할 프로그램에 구현하는 작업이 있습니다. 일련의 숫자. 나는 두 함수를 따로 따로 만들었고 그것들을 테스트했다. 두 함수는 모두 똑같은 프로그램에 넣었고, mean_average()를 다시 보도록 타입 오류가 계속 발생했다. 누구든지 내가 뭘 잘못하고 어떻게 고치고 갈지 말해 줄 수 있어요. 왜 평균 함수가 전에 목록을 사용하여 완벽하게 작동하는지 보지 못했지만 이제는 oprand 유형이 'int'및 'list'와 작동하지 않습니다.왜 이런 형식의 오류가 계속 발생합니까? (파이썬)

values = [] 
loopy = 0 


#Median 
def median_average(*args): 
    loop = 0 
    num_order = sorted(args) 
    length = len(args) 
    half_length = int((length/2)-1) 
    half_length_1 = int((length/2)) 
    if length % 2 == 0: 
     even_averagenf = (num_order[half_length]+num_order[half_length_1])/2 
     even_average = float(even_averagenf) 
     loop = 1 

    if length % 2 != 0: 
     odd_average = (num_order[int(half_length_1)]) 
     loop = 2 

    if loop == 2: 
     return odd_average 

    if loop == 1: 
     return even_average 

#Mean 
def mean_average(*args): 
    mean = sum(args)/len(args)) 
    return mean 



while loopy < 1: 
    user_v = (input("Please enter your sequence of numbers, stop by typing 'end':")) 

    if user_v == "end": 
     print("The median value of your sequence is:", median_average(values)) 
     print("The mean value of your sequence is:", mean_average(values))  
     loopy = 1 

    else: 
     values.append(int(user_v)) 

은 어떤 도움이 크게 당신은 실제 목록 자체

def median_average(args) 
def mean_average(args) 

에게이 방법을 처리하는

def median_average(*args) 
def mean_average(*args) 

당신은 당신의 기능에 인수를 풀고 안

+0

오류의 정확한 텍스트를 입력하십시오. – yole

+0

'mean = sum (args)/len (args))'구문 오류가 발생하지 않습니까? – aa333

+0

'mean_average'의 맨 위에'print (args)'를 넣으면 문제가 보입니다. 여러분이 작성한 방식대로,'args'는'[[1,2,3]]'입니다. – tdelaney

답변

1

을 감사합니다 args은 값 목록이므로 sum으로 전화 할 수 있습니다. 그것에 len.

관련 문제