Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities” [RSS Feed]

#1 Дек. 27, 2021 06:35:38

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1372
Репутация: +  122  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

Rikin
Вопрос1: что мы делаем в этой строке с помощью этой команды (и кв. скобки)?:
Это основы, которые вы не захотели изучать.Вы сейчас как будто пол фильма проспали, а потом проснулись и спрашиваете,что это за герои и что они делают

Офлайн

#2 Дек. 27, 2021 07:53:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9897
Репутация: +  855  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

Rikin
Это здесь - Вы имеете ввиду я вызываю список как функцию?:
  
print(works(range(1, 3)))
Нужны, стало быть (хотя бы для верного направления) квадратные скобки… Куда бы их поместить… ?
Так, что ли?:
  
print(works[range(1, 3)])
К списку нельзя применить круглые скобки.

Пример применения круглых скобок к функции (вызов функции)
  
>>> def f(x):
...     return x * x
... 
>>> xx = f(4)
>>> xx
16
>>>

Пример применения квадратных скобок к списку (взятие элемента списка по индексу)
  
>>> lst = [10, 20, 30, 40]
>>> 
>>> n = 2
>>> item30 = lst[n]
>>> item30
30
>>>

Rikin, ты что, даже основ питона не знаешь и взялся ООП на нём изучать? Кто же этот мастер, который взял тебя на учёбу? Видно, мошенник какой-то.



Отредактировано py.user.next (Дек. 27, 2021 07:55:44)

Офлайн

#3 Янв. 1, 2022 22:21:25

Rikin
Зарегистрирован: 2020-11-14
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

С новым годом Вас!
Здоровья, успехов, исполнения желаний!

Офлайн

#4 Янв. 1, 2022 22:26:09

Rikin
Зарегистрирован: 2020-11-14
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

py.user.next
…… даже основ питона не знаешь и взялся ….? Кто же этот мастер, который взял тебя на учёбу? Видно, мошенник какой-то

Это я тему функции не имел времени проработать… Значит по ходу или позже буду латать.

Офлайн

#5 Янв. 2, 2022 04:46:39

Rikin
Зарегистрирован: 2020-11-14
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

Спасибо.
Еще вопрос. Теперь ваш неуч хотел бы реализовать сложение затрат “costs” в списке works постредством FOR… in range() выбранных позиций: например в данном случае с первой до
четвёртой (не включая).

То есть, алгоритмически идея такова:
- выудить на каждой итерации цикла FOR - текущее актуальное значение costs ? для этого наверное полезно выбросить эти значения costs за пределы цикла FOR
- некий новый список lstSumCosts с числом значений, соответствующим числу итераций цикла FOR - заполнить выуженными значениями costs
- просуммировать все элементы новополученного списка и выдать сумму затрат “costs_selected”

Я конечно пробовал, но…:

 class Work:
    def __init__(self, name="", activity="", costs=0):
        self.name = name
        self.activity = activity
        self.costs = costs
works = [{"name": "Max Must", "activity": "Software development 1", "costs": 100},
         {"name": "Peter Beisp", "activity": "Software development 1", "costs": 95},
         {"name": "Jacky Sparrowson", "activity": "Management", "costs": 70},
         {"name": "Tonia Tirolsenia", "activity": "Software Testing area 1", "costs": 85},
         {"name": "Antony Tirolsen", "activity": "Software Testing area 2", "costs": 80},
         {"name": "Mister A", "activity": "buying materials group A", "costs": 35},
         {"name": "Mister X", "activity": "buying materials group B", "costs": 35},
         {"name": "Mister Y", "activity": "buying materials group Y", "costs": 30},
         {"name": "Mister Z", "activity": "buying materials group Z", "costs": 25}]
obj_lst = []
for work in works:
    obj_lst.append(Work(**work))
# theSum = 0
for i in range(1, 4):
    print("name work:", obj_lst[i].name)
    print("activity work:", obj_lst[i].activity)
    print("costs work:", obj_lst[i].costs)
    # lstSum =[obj_lst[i].costs]
    # print("lstSum:", lstSum)
    # theSum = obj_lst[i].costs + obj_lst[i+1].costs       # ??? how to build the Sum of in range selected 
                                                                                 #   "costs[i]" / obj_lst[i].costs   ???
    # print("theSum:", theSum)
    # print (sum("general_sum:", obj_lst[i].costs))
    print('\n')

прошу помочь, поправить


Офлайн

#6 Янв. 2, 2022 09:55:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9897
Репутация: +  855  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

Rikin
сложение затрат “costs” в списке works постредством FOR… in range() выбранных позиций: например в данном случае с первой до
четвёртой (не включая).
  
>>> works = [
...     {"name": "Max Must", "activity": "Software development 1", "costs": 100},
...     {"name": "Peter Beisp", "activity": "Software development 1", "costs": 95},
...     {"name": "Jacky Sparrowson", "activity": "Management", "costs": 70},
...     {"name": "Tonia Tirolsenia", "activity": "Software Testing area 1", "costs": 85},
...     {"name": "Antony Tirolsen", "activity": "Software Testing area 2", "costs": 80},
...     {"name": "Mister A", "activity": "buying materials group A", "costs": 35},
...     {"name": "Mister X", "activity": "buying materials group B", "costs": 35},
...     {"name": "Mister Y", "activity": "buying materials group Y", "costs": 30},
...     {"name": "Mister Z", "activity": "buying materials group Z", "costs": 25}
... ]
>>> 
>>> out = sum(i['costs'] for i in works[:3])
>>> out
265
>>>



Офлайн

#7 Янв. 2, 2022 14:35:21

Rikin
Зарегистрирован: 2020-11-14
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

py.user.next
 for i in works[:3]

спасибо большое.

У вас выбор позиций/трудо-пакетов из списка для суммирования costs осуществляется здесь:
 for i in works[:3]
Ранее у нас выборка позиций oсуществлялась здесь:
 for i in range(1, 4):

Нет ли возможности выбор позиций/трудо-пакетов так же и для суммирования costs - тоже осуществить в прежней выборке по
  for i in range(1, 4):
?
то есть синхронизировать выборку с прежней, а не заново делать с помощью
 for i in works[:3]
?

Помимо того, насколько я понимаю здесь выборка идёт начиная с нулевой, а не с первой позиции?
Я бы хотел начать не с нулевой позиции списка works, а с первой

Отредактировано Rikin (Янв. 2, 2022 14:36:49)

Офлайн

#8 Янв. 3, 2022 01:47:42

Rikin
Зарегистрирован: 2020-11-14
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

Спасибо.

Но так он суммирует позицию 1 и позицию 2… а третья очевидно не включается в сумму.
А так - с вашей помощью - считает как хотелось бы:

 out = sum(i['costs'] for i in works[1:4])
print(out)

УРА!

Да… и я сначала пробовал out = sum(i for i in range(1, 4)) но range ему не нравится ни с какими скобками и ни с какими вариантами…-> выдаёт ошибку с range…
Ну и ладно… пусть будет works

Офлайн

#9 Янв. 3, 2022 02:03:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9897
Репутация: +  855  -
Профиль   Отправить e-mail  

выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”

Rikin
Помимо того, насколько я понимаю здесь выборка идёт начиная с нулевой, а не с первой позиции?
Я бы хотел начать не с нулевой позиции списка works, а с первой
  
>>> works = [
...     {"name": "Max Must", "activity": "Software development 1", "costs": 100},
...     {"name": "Peter Beisp", "activity": "Software development 1", "costs": 95},
...     {"name": "Jacky Sparrowson", "activity": "Management", "costs": 70},
...     {"name": "Tonia Tirolsenia", "activity": "Software Testing area 1", "costs": 85},
...     {"name": "Antony Tirolsen", "activity": "Software Testing area 2", "costs": 80},
...     {"name": "Mister A", "activity": "buying materials group A", "costs": 35},
...     {"name": "Mister X", "activity": "buying materials group B", "costs": 35},
...     {"name": "Mister Y", "activity": "buying materials group Y", "costs": 30},
...     {"name": "Mister Z", "activity": "buying materials group Z", "costs": 25}
... ]
>>> 
>>> out = sum(i['costs'] for i in works[1:4])
>>> out
250
>>>

  
costs_sum = 0
for i in range(1, 4):
    print('name work:', obj_lst[i].name)
    print('activity work:', obj_lst[i].activity)
    print('costs work:', obj_lst[i].costs)
    costs_sum += obj_lst[i].costs
 
print('costs sum:', costs_sum)

Rikin
Да… и я сначала пробовал out = sum(i for i in range(1, 4)) но range ему не нравится ни с какими скобками и ни с какими вариантами…-> выдаёт ошибку с range…
Ну и ладно… пусть будет works
  
>>> works = [
...     {"name": "Max Must", "activity": "Software development 1", "costs": 100},
...     {"name": "Peter Beisp", "activity": "Software development 1", "costs": 95},
...     {"name": "Jacky Sparrowson", "activity": "Management", "costs": 70},
...     {"name": "Tonia Tirolsenia", "activity": "Software Testing area 1", "costs": 85},
...     {"name": "Antony Tirolsen", "activity": "Software Testing area 2", "costs": 80},
...     {"name": "Mister A", "activity": "buying materials group A", "costs": 35},
...     {"name": "Mister X", "activity": "buying materials group B", "costs": 35},
...     {"name": "Mister Y", "activity": "buying materials group Y", "costs": 30},
...     {"name": "Mister Z", "activity": "buying materials group Z", "costs": 25}
... ]
>>> 
>>> out = sum(works[i]['costs'] for i in range(1, 4))
>>> out
250
>>>



Отредактировано py.user.next (Янв. 3, 2022 02:09:22)

Офлайн

  • Начало
  • » Центр помощи
  • » выбор (и вывод в output) из созданного списка возможных работ - указанных отдельных трудовых пакетов “activities”[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version