мне нужно написать программу которая в последовательности натуральных чисел определяет минимальное число кратное 4
n=int(input())
k=0
for i in range(n):
a=int(input())
if a%10==4:
k+=1
print(k)
Ответы (4 шт):
Автор решения: becouse
→ Ссылка
- Нужна начальная инициализация минимума. Для этого нам нужно первое число, которое делится на 4. Для этого заведем переменную state. Если она равна 0, то это первое число, которое делится на 4.
После того как мы это число нашли, то далее ищем минимум
n=int(input()) state=0 for i in range(n): a=int(input()) if a%10==4: if state==0: zmax=a state=1 else: if a<zmax: zmax=a if state>0: print(zmax) else: print('NO')
Автор решения: Stanislav Volodarskiy
→ Ссылка
# читаем количество чисел
n = int(input())
# генератор готов прочитать n целых чисел
ints = (int(input()) for _ in range(n))
# читаем числа, фильтруем их, выбираем минимум
print(min(k for k in ints if k % 4 == 0))
Автор решения: Dmitry
→ Ссылка
Два способа основаные на методах списков.
1 способ
Использование сортировки и прерывания перебора элементов при совпадении условия
n = input()
# входные данные 10 40 1 4 50 64 90
l = [int(i) for i in n.split()]
l.sort()
for i in l:
if i%4 == 0:
result = i
break
else:
result = None
2 способ
Использование метода min() и list comprehension
n = input()
# входные данные 10 40 1 4 50 64 90
l = [int(i) for i in n.split()]
min_ = min([i for i in l if i%4 == 0])
Если последовательность не содержит чисел кратным 4, то переменная будет содержать пустой список: min_ = []
Автор решения: MarianD
→ Ссылка
n = int(input())
numbers = (int(input()) for __ in range(n))
numbers = [num for num in numbers if num % 4 == 0]
if numbers:
print(min(numbers))
else:
print("Нет такого числа.")
if numbers: значит «когда список numbers не пустой».