добавление функции параметром
Есть некая функция
def get_palindrome_digits(n):
return True if str(n)[::-1] == str(n) else False
к примеру такая. Подскажите, как можно добавить параметром эту функцию в генератор, чтобы она помечала при вызове этого генератора выводимые им числа true/false в зависимости от своего назначения(в данном случае функция определяет палиндромные числа)
def prime_numbers_generator(n):
prime_numbers = []
for number in range(2, n + 1):
for prime in prime_numbers:
if not number % prime:
break
else:
prime_numbers.append(number)
yield number
Ответы (2 шт):
Автор решения: strawdog
→ Ссылка
Вы имеете в виду такое решение?
def get_palindrome_digits(n):
return True if str(n)[::-1] == str(n) else False
lst = [11, 12, 22, 33, 34]
res = [get_palindrome_digits(x) for x in lst]
res, соответственно, будет
[True, False, True, True, False]
Автор решения: CrazyElf
→ Ссылка
В Питоне практически всё может быть переменной, а значит и параметром, передаваемым в функцию. Включая сами функции:
def get_palindrome_digits(n):
return str(n)[::-1] == str(n)
def palindrome_numbers_generator(n, f):
for number in range(10, n):
if f(number): # вызов функции, переданной как параметр
yield number
for n in palindrome_numbers_generator(100, get_palindrome_digits):
print(n)
Вывод:
11
22
33
44
55
66
77
88
99