Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 4, 2013 14:23:14

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

Привет всем у меня есть две функции

 def get_profile_id(service): def get_result(service, profile_id):
def get_profile_id(service):  в ней есть 3 цикла которей идут друг в друге примерно так схематически.
 for a in b 
  for c in a
    for d in c
     profile_id = d.get('id')
итоге мы получаем тот profile_id(причем около 250 значений) который нам нужен в следующей функции чтобы посчитать результаты.
проблема в том - как мне в функцию
def get_result(service, profile_id):
вставит значения с прошлой не могу понять синтаксически как это сделать, толе все что я насчитал в циклах надо передать как-то списком в следующую функцию или эту функцию запустить в этих циклах такого что-то типа
def get_profile_id(service):  
 for a in b 
  for c in a
    for d in c
     profile_id = d.get('id')
     def get_result(service, profile_id)
     return service spam spam spam
     return result
- тут должин быть результат по каждому значению которое мы получим вот здесь
 def get_profile_id(service): 
как синтаксичестки это сделать , обьявить функцию в функции с циклом или если незнаете может какие материалы мне помогут. Зарание спасибо.

Отредактировано Mazay_Ka (Апрель 4, 2013 14:34:37)

Офлайн

#2 Апрель 4, 2013 14:29:29

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

Теперь оформи код по человечески.
Первое предупреждение



Офлайн

#3 Апрель 4, 2013 19:45:04

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

Mazay_Ka тебе надо самые основы познавать, возьми какую-нибуть книжку по Питону

конкретно в данном случае тебе надо понять разницу между определением и вызовом функции.

Отредактировано bismigalis (Апрель 4, 2013 19:45:25)

Офлайн

#4 Апрель 5, 2013 13:00:47

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

bismigalis
Mazay_Ka тебе надо самые основы познавать, возьми какую-нибуть книжку по Питонуконкретно в данном случае тебе надо понять разницу между определением и вызовом функции.
да читаю не могу догнать, а на пальцах простенький пример пожалуйста можно разобрать? по определению и вызову функции.

Офлайн

#5 Апрель 5, 2013 13:22:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

import math
def electric_power(amperage, voltage, fi):
   return amperage*voltage*math.sin(fi)
def DCPower(amperage, voltage):
    return electric_power(amperage, voltage, math.pi/2)
def ACPower(amperage, voltage):
    return DCPower(amperage, voltage)*0.75
A=10
V=220
P=ACPower(A, V)
PR=DCPower(A,V)



Офлайн

#6 Апрель 5, 2013 14:43:52

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

import math
def electric_power(amperage, voltage, fi): #-здесь мы определяем функцию
   return amperage*voltage*math.sin(fi) #- это какое значение она нам возвращает когда мы ее вызовем 
def DCPower(amperage, voltage):#-здесь мы определяем функцию
    return electric_power(amperage, voltage, math.pi/2)#- это какое значение она нам возвращает когда мы #ее вызовем
def ACPower(amperage, voltage):#-здесь мы определяем функцию
    return DCPower(amperage, voltage)*0.75#- это какое значение она нам возвращает когда мы ее #вызовем
A=10 - # это задаем значение amperage 
V=220 - #  это задаем значение voltage
P=ACPower(A, V)# ------
                                   #а это что? это и есть  вызов функций?     
PR=DCPower(A,V)#------
как определить я понял не понял как вызвать…..

Офлайн

#7 Апрель 5, 2013 15:11:43

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

Да, это вызов функции



Офлайн

#8 Апрель 5, 2013 17:40:58

Mazay_Ka
Зарегистрирован: 2013-04-03
Сообщения: 59
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

Хорошо это я понял идем дальше тогда вопрос как мне получить от функции

def a(c):
    b = (1,2,3,4,5)
    for d in b:
        c = d + c
        return c
           
print a(1)

выводит
2
а я хочу
2
3
4
5
6
покажите пожалуйста

Офлайн

#9 Апрель 5, 2013 17:54:12

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

def a(c):
    b = (1,2,3,4,5)
    for d in b:
        c = d + c
        yield c
for i in a(1):
    print i
Прочитайте уж книгу какую-нибудь по питону.

Отредактировано s0rg (Апрель 5, 2013 17:55:14)

Офлайн

#10 Апрель 5, 2013 20:07:50

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Функция с циклом, а в нем еще одна функция. Как это сделать?

Mazay_Ka
толе все что я насчитал в циклах надо передать как-то списком в следующую функцию

ты на верном пути

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version