Напишите программу в Python, которая получает на вход нижнюю и верхнюю границу диапазона целых чисел соответственно (ввод нажатием на клавишу после каждого числа), а выводит все числа, которые при делении на 15 дают в остатке 11, а при делении на 11 дают в остатке 9.


kssuvik: можно примеры ввода и вывода
Jurin: ввод: 100
1000
Jurin: Вывод:
251
416
581
746
911

Ответы

Ответ дал: dimb0r22
1

n_bott = int(input("Least number of interval - "))

n_top = int(input("The largest number of interval - "))

num_list = []

for num in range(n_bott,n_top + 1):

   if ((num % 15 == 11) and (num % 11 == 9)):

       num_list.append(num)

print(*num_list)

Приложения:

KnowsUser1: Зачем хранить все элементы, удовлетворяющие условию, а потом выводить их все вместе, если можно сразу выводить значения? Я понимаю, что сейчас у каждого второго 16 гб ОЗУ, но всё же не стоит так лихо раскидываться памятью
KnowsUser1: и вы слышали что нибудь о функции filter()?
Jurin: Спасибо. А что нужно добавить, что бы выводилось списком? Спасибо
Ответ дал: KnowsUser1
0

Ответ:

#Более экономная по памяти версия

lb, rb = map(int, input('Enter lower and upper range borders:\n').split())

cond = lambda item: item % 15 == 11 and item % 11 == 9

[print(item, end='\n') for item in filter(cond, range(lb, rb+1))]

ввод:

100 1000

вывод

251

416

581

746

911


Jurin: Спасибо. А почему Print, взят в квадратные скобки? Спасибо
KnowsUser1: обратите внимание, что в квадратные скобки взят не только вызов print(), а всё выражение целиком. Синтаксическая фишка Python. Почитайте "генераторы списков python"
Jurin: Спасибо
Вас заинтересует