Уведомления

Группа в Telegram: @pythonsu

#1 Июль 4, 2014 08:38:35

eshuliakovsky
Зарегистрирован: 2014-07-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает цикл for

def func(x):
	return x * x
def oper(l, function):
	result = []
	for k in l:
		result.append(function(k))
		return result
X = [20, 24, 64, 100]
print(oper(X, func))
Возводит в квадрат только первый элемент списка дальше не идет,, это же аналог foreach, в Java все Ok.
Проверял на 2 и 3-й версии.

Отредактировано eshuliakovsky (Июль 4, 2014 08:46:19)

Прикреплённый файлы:
attachment output.png (6,8 KБ)

Офлайн

#2 Июль 4, 2014 08:54:31

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Не работает цикл for

return result вынесите из for, иначе конечно возвратится result после первой же итерации.

Офлайн

#3 Июль 4, 2014 09:11:32

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Не работает цикл for

И почитайте про map, на всякий случай.

Офлайн

#4 Июль 4, 2014 09:13:31

eshuliakovsky
Зарегистрирован: 2014-07-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает цикл for

Спасибо большое, пока еще не привык к области видимости питона.

Офлайн

#5 Июль 4, 2014 09:34:02

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Не работает цикл for

eshuliakovsky
Спасибо большое, пока еще не привык к области видимости питона.
привет php?

Офлайн

#6 Июль 4, 2014 10:56:59

eshuliakovsky
Зарегистрирован: 2014-07-04
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает цикл for

Java

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version