Найти - Пользователи
Полная версия: Функция с циклом, а в нем еще одна функция. Как это сделать?
Начало » Python для новичков » Функция с циклом, а в нем еще одна функция. Как это сделать?
1 2
Mazay_Ka
Привет всем у меня есть две функции
 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): 
как синтаксичестки это сделать , обьявить функцию в функции с циклом или если незнаете может какие материалы мне помогут. Зарание спасибо.
FishHook
Теперь оформи код по человечески.
Первое предупреждение
bismigalis
Mazay_Ka тебе надо самые основы познавать, возьми какую-нибуть книжку по Питону

конкретно в данном случае тебе надо понять разницу между определением и вызовом функции.
Mazay_Ka
bismigalis
Mazay_Ka тебе надо самые основы познавать, возьми какую-нибуть книжку по Питонуконкретно в данном случае тебе надо понять разницу между определением и вызовом функции.
да читаю не могу догнать, а на пальцах простенький пример пожалуйста можно разобрать? по определению и вызову функции.
FishHook
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)
Mazay_Ka
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)#------
как определить я понял не понял как вызвать…..
Soteric
Да, это вызов функции
Mazay_Ka
Хорошо это я понял идем дальше тогда вопрос как мне получить от функции
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
покажите пожалуйста

s0rg
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
Прочитайте уж книгу какую-нибудь по питону.
bismigalis
Mazay_Ka
толе все что я насчитал в циклах надо передать как-то списком в следующую функцию

ты на верном пути
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB