мне нужно написать программу которая в последовательности натуральных чисел определяет минимальное число кратное 4

n=int(input())
k=0
for i in range(n):
    a=int(input())
    if a%10==4:
        k+=1
print(k)

Ответы (4 шт):

Автор решения: becouse
  1. Нужна начальная инициализация минимума. Для этого нам нужно первое число, которое делится на 4. Для этого заведем переменную state. Если она равна 0, то это первое число, которое делится на 4.
  2. После того как мы это число нашли, то далее ищем минимум

    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 не пустой».

→ Ссылка