• Последовательность чисел генерируется лямбда-функцией:
    def generate_number():
    return lambda random_seed: (random_seed*693 + 5)%100
    number = generate_number()
    Член последовательности под номером i равен number(i). Последовательность начинается с первого элемента, признак конца последовательности — значение 0 (не входит в саму последовательность).
    Найти количество чисел, кратных 7.
    язык питон

Ответы 6

  • Вот тут опечатка: вместо print sum(x for x in numbers() if x % 7 == 0) должно быть print sum(1 for x in numbers() if x % 7 == 0).
    • Автор:

      cheeky
    • 6 лет назад
    • 0
  • (1 for x in numbers() if x % 7 == 0) работает так: numbers() - это исходная последовательность (вернее, генератор). for x in numbers() - работает так же, как и цикл. if x % 7 == 0 - отбирает все числа, делящиеся на 7. И для каждого числа в итоговый генератор добавляется единица. Получается, что в итоге получится последовательность из 1, в которой каждая единица соответствует числу, делящемуся на 7. Сумма единиц - количество.
    • Автор:

      walton
    • 6 лет назад
    • 0
  • Ответ будет 14.
    • Автор:

      amani
    • 6 лет назад
    • 0
  • В решении вашего соседнего задания (где нужно не количество, а сумма) надо как раз писать print sum(x for x in numbers() if x % 7 == 0), будет сумма чисел. Там ответ 735.
  • спасибо
  • def generate_number():    return lambda random_seed: (random_seed*693 + 5)%100number = generate_number()def numbers():    i = 0    while True:        elem = number(i)        if elem != 0:            yield elem            i += 1        else:            breakprint sum(1 for x in numbers() if x % 7 == 0)______________________________numbers - генерирует последовательность из условия(x for x in iterable if cond(x)) - генерирует последовательность элементов interable, удовлетворяющих условию cond(x) /можно записать и через filter/
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years