Задача №1 Определить функцию list_max(L), которая возвращает максимальный элемент непустого списка
from __future__ import print_function, unicode_literals, division
def list_max(L):
''' Найти максимальный элемент непустого списка'''
m = L[0]
for i in L:
if i>m:
m = i
return m
L = [1, 4, 9, 5, 2, 19, 5, 7]
print(list_max(L))
Задача Определить функцию 'max_negative' для нахождения наибольшего отрицательного значения в списке. Если отрицательны значений нет, то вернуть 'none'.
def max_negative(L):
mi = -1000
for i in L:
if i>mi:
if i<0:
mi = i
if mi == -1000:
return 'none'
else:
return mi
L = [1, 4, 9, 5, -2, -19, 5, 7]
print(max_negative(L))
Задача. Расширить класс Node, добавив в него дочерние узлы. Для этого использовать атрибут children. Определить метод 'append' для добавления в список дочерних узлов заданного узла. Определить метод 'delete' для удаления дочернего узла с индексом 'i'.
class NestedNode:
def __init__(self, label, value, children):
# Необходимо вызвать метод инициализации родителя.
self.label = label
self.value = value
self.children = children
children = []
def __repr__ (self):
return "NestedNode(%r,%r, %r)" % (self.label, self.value, self.children)
#
def update_value(self, val):
self.value = val
def append (self, child):
self.children.append(child)
def delete (self, i):
self.children.pop(i)
repr(NestedNode)
nd1 = NestedNode('a', 1.0, [])
print(nd1)
nd2 = NestedNode('b', 2.0, [])
print(nd2)
nd3 = NestedNode('c', 3.0, [])
print(nd3)
nd2.append (nd1)
print(nd2)
nd3.delete (0)
print(nd3)