1 Востаннє редагувалося Blast (05.07.2014 10:35:20)

Тема: Цикл

n = [3, 5, 7]


def double_list(x):
    for i in range(0, len(x)):
        x[i] = x[i] * 2
        return x 
        
# Don't forget to return your new list!

print double_list(n)

Повертає 6 5 7 чому не 6 10 14  ?


n = [3, 5, 7]


def double_list(x):
    z = [] 
    for i in x:
        z.append(i*2)
        return z 
        
# Don't forget to return your new list!

print double_list(n)

В ось такому випадку теж тільки раз проходить ?

def double_list(x):
    for i in range(0, len(x)):
        x[i] = x[i] * 2
    return x

А ось так пройшло , поясніть різницю ?

2 Востаннє редагувалося Singularity (05.07.2014 10:52:40)

Re: Цикл

В тебе ж на першій ітерацій вихід з функції і ти це розумієшь.
В чому питання?

Може зі звичайними циклом буде зрозуміліше http://jsfiddle.net/mw26Z/

3 Востаннє редагувалося Blast (05.07.2014 11:15:01)

Re: Цикл

Singularity написав:

В тебе ж на першій ітерацій вихід з функції і ти це розумієшь.
В чому питання?

Може зі звичайними циклом буде зрозуміліше http://jsfiddle.net/mw26Z/

Я не можу зрозуміти чому цикл прохидить лише один крок коли беруть кінцевою точкою цілу довжину масиву .

n = [3, 5, 7]

def total(numbers):
    result = 0 
    for i in range(len(numbers)):
        result = result + numbers[i]
        return result 
print total(n)

Ось так теж повертає лише 1-й елемент не додаєчи всі існуючі


П.С Ох уже ці пробіли , тепер зрозумів , там вихід і з функціє конролються табуляціями , так як дужками в С наприклад

4

Re: Цикл

В мене так вийшло.

a=[1,2,3,4,5,6,7,8,9,10]
def double(x):     
    for i in x:     
        print i*2; 
print double(a);

5 Востаннє редагувалося A.N.Onim (05.07.2014 19:14:04)

Re: Цикл

Я не можу зрозуміти чому цикл прохидить лише один крок коли беруть кінцевою точкою цілу довжину масиву .

Після того як Python баче return він тут же виходить з функції та повертає поточне значення х.

Подякували: Felis silvestris catus1

6

Re: Цикл

A.N.Onim написав:

Я не можу зрозуміти чому цикл прохидить лише один крок коли беруть кінцевою точкою цілу довжину масиву .

Після того як Python баче return він тут же виходить з функції та повертає поточне значення х.

Все правильно просто відступ в два таби був , тому і при першому проході повертало тільки перше значвення.