Sum_to (n) zwraca sumę wszystkich liczb całkowitych do N. Sum_to (10) byłby 1 + 2 + 3 ... + 10, który zwróciłby wartość 55.

Próbowałem tego, ale nie dał mi żadnych mocy.

def sum_to(n):
    a= 0
    for x in range(n):
        a = x + 1
    return a 

sum_to(10)
0
Mario Mouris 1 grudzień 2013, 20:42

3 odpowiedzi

Najlepsza odpowiedź

Po wywołaniu funkcji z wartością zwracaną, która wartość powrotna nie jest wyświetlana, chyba że go wydrukuje, więc musisz to zrobić print(sum_to(10)). Twój kod ma w nim błąd; Musisz się gromadzić a zamiast przypisywać bezpośrednio do niego: a += x+1.

Oczywiście nie jest to dobry sposób na obliczenie suma od 1 do 10, ponieważ jest znana formuła, która daje ci numer bezpośrednio:

def sum_to(n) :
  return n*(n+1)//2
3
Jack Aidley 1 grudzień 2013, 17:23

Problem polega na napisaniu = A + X + 1, a także, należy również wydrukować wynik, jeśli chcesz zobaczyć wynik na konsoli.

0
Pan Long 1 grudzień 2013, 16:46

Dlaczego nie robić obu?

print(sum(range(1,11)))
0
crazyzubr 1 grudzień 2013, 16:51