Помощь школьникам или же математикам
Небольшое вступление, насчет данной темы:
В теме "Функции помощники", я буду выкладывать готовые решение каких либо задач в виде функций на языке Python. Можете писать свои задания в комментариях. Итак начинаем.
Сегодня просмотрим функции факториала и поиска минимума.
Нахождение Факториала:
как это выглядит в математике :-)
5! = 5*4*3*2*1
def fact(x):
if x==0:
return 1
else:
return x*fact(x-1)
c=fact(5)
print(c)
def fact(x):
return 1 if x==0 else reduce(lambda x,y:x*y,xrange(1,x+1))
c=fact(5)
print(c)
результат будет равен 120
-----------------------------------------------------------------
Функция должна находить минимальное значение из множества аргументов любого типа.
1-й способ:
def min1(*args):
res = args[0]
for arg in args[1:]:
if arg < res:
res = arg
return res
2-й способ:
def min2(first, *rest):
for arg in rest:
if arg < first:
first = arg
return first
3-й способ:
def min3(*args):
tmp = list(args) # Или, в Python 2.4+: return sorted(args)[0]
tmp.sort()
return tmp[0]
print(min1(3,4,1,2))
print(min2(“bb”, “aa”))
print(min3([2,2], [1,1], [3,3]))
результат:
1
aa
[1, 1]
А где же reduce, где лямбды?
ОтветитьУдалитьВозможно будут )
Удалить