Лучший Python телеграм канал для новичков.
Цель: подготовка студентов, начинающих питонистов к нахождению первой работы.
@anothertechrock
РКН: https://kurl.ru/Jhcwp
Post #1205
2.66K

PY @pythonboost
Showing posts older than #1206 · Back to latest

from functools import reduce
def persistence(n):
if len(str(n)) == 1:
return 0
else:
return 1 + persistence(reduce(lambda a, b : a * b, [int(i) for i in str(n)]))
Также подумайте как можно решить данную задачу без использования рекурсии.persistence(), которая принимает положительное целое число num и возвращает его мультипликативную стойкость. Мультипликативной стойкостью называется количество перемножений всех цифр числа, после которого получается число из одной цифры.persistence(39) --> 3 так как 3*9 = 27, 2*7 = 14, 1*4 = 4, а 4 состоит из одной цифры.persistence(999) --> 4 так как 9*9*9 = 729, 7*2*9 = 126, 1*2*6 = 12 и наконец 1*2 = 2
persistence(4) --> 0 так как 4 и так состоит из одной цифры.
def in_array(a1, a2):
return sorted({sub for sub in a1 if any(sub in s for s in a2)})
#pythonзадача #coбесin_array(), которая принимает два массива со строками, a1 и a2, и возвращает отсортированный в лексикографическом порядке массив r, состоящий из строк из массива a1, которые все являются подстроками строк из массива a2.a1 = ["arp", "live", "strong"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
in_array(a1, a2) --> ["arp", "live", "strong"]
a1 = ["tarp", "mice", "bull"]
a2 = ["lively", "alive", "harp", "sharp", "armstrong"]
in_array(a1, a2) --> []

def zeros(n):
return 0 if n < 5 else n / 5 + zeros(n / 5)
Подумайте также как данную задачу можно решить без использования рекурсии. Также подумайте, как можно ее обобщить на другие системы счисления.
zeros(6) должна возвращать 1, так как 6! = 120, то есть в конце числа один 0.Forwarded from Pythonist.ru - образование по питону

