2017-09-28 3 views
1

저는 프로그래밍에 익숙하지 않아 붙어 있습니다.내 프로그램이 인쇄되지 않는 이유는 무엇입니까?

목록의 1000 범위에서 3과 5의 배수를 모아서 합산하는 코드를 작성하려고합니다. 지금은 할 수 작성하여 쉘에서 그렇게 :

numbers = [] 

for number in range(1001): 
    if number%3 == 0 or number%5 == 0: 
    numbers.append(number) 

sum (numbers) 

을 나는 파일이에서를 작성하는 경우는, 그러나, 나에게 234168 그래서이 작품 답을 제공합니다

def multiples(): 
numbers =[] 
for number in range(10): 
    if number%3 == 0 or number%5 == 0: 
     numbers.append(number) 
    sum (numbers) 


multiples() 

을 한 다음에 셸 파이썬은 코드가 실행되었음을 알려주지 만, 아무것도 돌려주지 않습니다! 공백을 제거하고 공백을 제거하고 줄 바꾸기를 시도했지만 결과가 나에게 돌아 오지 않습니다. (오류 메시지조차도)

나를 미치게 해주고 도움이 되었기 때문에 도와주세요. 영어가 제 모국어가 아니기 때문에 실수를 저술하십시오.

+2

'return sum (numbers) '시도 –

+0

print()가 어디에서나 호출되는 것을 볼 수 없습니다. –

+2

_ "인쇄를 시도했습니다"_ OK, 올바른 방향으로 나아가는 단계입니다. 인쇄를 시도한 코드를 저희에게 보여주십시오. – Kevin

답변

0
def multiples(): 
    numbers = [] 
    for number in range(10): 
    if number % 3 == 0 or number % 5 == 0: 
     numbers.append(number) 

    return sum(numbers) 

print (multiples()) 

출력 :

23 
+0

고마워요! 배수구 앞에 인쇄물을 두지 않으려 고했는데 ... –

+0

다른 함수에서 sum (numbers)을 반환해야합니다. 콘솔에 None을 인쇄 할 수 있습니다. 희망이 도움이됩니다. –

+0

네, 덕분에 다시 한번 감사 드리며, 이제는 제대로 돌아가는 법을 영원히 배우기를 바랍니다. –

0

당신은 당신의 multiples 기능의 숫자의 합을 반환해야합니다. 함수는 다음과 같이 찾고 그것을 시도 : 당신은 파이썬 쉘에서 단계에서 코드 단계를 실행

def multiples(): 
    numbers =[] 
    for number in range(10): 
    if number%3 == 0 or number%5 == 0: 
     numbers.append(number) 
    return sum(numbers) 

는, 쉘은 항상 마지막 문장의 결과를 인쇄, 그래서는 sum(numbers) 문이 계산 무엇을 인쇄. 함수를 사용할 때 함수의 호출 범위에 값을 전달하려면 return 문 (Python Docs: Return Statement)이 필요합니다.

+0

고마워, 잘만되면, 나는 그것을 영원히 배웠다! –

관련 문제