2013-04-03 2 views
0

입력 된 숫자의 최대 값을 찾으려면 어떻게합니까? 여기 내가 지금까지 가지고있는 것이있다. 그것은 나에게 오류 메시지를주고 : 당신이 필요하지 않은 경우 당신은 (또는, 목록에max()을 목록에 그들 모두를 넣고 실행할 수 있습니다입력 된 숫자의 최대 값을 찾으려면 어떻게합니까

def greatest(num): 
    for index in range(10): 
     num=input('Enter the number of units sold') 
    print max(num) 

답변

2

' "INT"개체는 반복 가능하지 않다' 무엇에 대한 목록은) 단순히 같은 것을 사용하여 자신의 최대 유지 :

당신은 목록에서 숫자 또는 다른 반복 가능한 데이터 구조를 축적 할 필요가
def greatest(num): # why num here?? 
    maxnum = -1 
    for index in range(10): 
     num = input ('Enter the number of units sold') 
     if num > maxnum: 
      maxnum = num 
    print maxnum 
+0

대, 덕분에 많이. 1 호선의 숫자가 왜 프로그래밍을 알고 있는지 모르겠습니다. 나는 그것이 아직도 작동한다고 생각한다. – user2238548

1

:

def greatest(): 
    data = [input('Enter the number of units sold') for _ in range(10)] 
    print max(data) 
0

max은 일련 번호 중 가장 큰 숫자를 제공하고 input은 int를 반환하기 때문에 오류 메시지가 표시됩니다. 당신이 수집을 완료 한 후

당신은 데이터 구조에서 사용자로부터 점점 그 숫자를 개최 할 필요가
def greatest(num): 
    numbers = [] 
    for index in range(10): 
     numbers.append(input('Enter the number of units sold')) 
    print max(numbers) 
1

후 최대를 찾을 수 :

은 당신이 아마 할하려는 것은 이것이다. 지금 당신은 각 반복에서 단지 num의 값을 무시하고 있습니다. 이전 입력 숫자를 검사 할 수 없으므로 전혀 도움이되지 않습니다. 이것이 반복되는 것을 기대하면서 max에서 오류가 발생하는 이유입니다. , 당신이 일 것 같은 지금까지 뭔가를 무엇으로

def greatest(): 
    l = [] 
    for index in range(10): 
     l.append(input('Enter the number of units sold')) 
    return max(l) 

가는 그러나 이것은 더 나은 것 :

def greatest(): 
    return max(input('Enter the number of units sold') for _ in xrange(10)) 
관련 문제