Как найти минимальное четное число питон

Помогите пожалуйста написать программу на питон, которая будет находить в одномерном массиве минимальное чётное число и максимальное нечётное число.
Программа в основном написана, но не получается найти минимальное чётное число.

n=int(input("Введите количество элементов, которые будут в списке:"))
b=[]
for i in range(0,n):
    a=int(input("Элемент:"))
    b.append(a)
c=[]
d=[]
for i in b:
    if(i%2==0):
        c.append(i)
    else:
        d.append(i)
c.sort()
d.sort()
count1=0
count2=0
for k in c:
    count1=count1-1
for j in d:
    count2=count2+1
print("Минимальное четное число:",c[count1+1])
print("Максимальное нечетное число",d[count2-1])

Kromster's user avatar

Kromster

13.5k12 золотых знаков43 серебряных знака72 бронзовых знака

задан 14 мая 2021 в 5:29

Начинающий's user avatar

4

n = int(input("Введите количество элементов, которые будут в списке:"))
b = []
for i in range(n):
    a = int(input("Элемент:"))
    b.append(a)

c = []
d = []
for i in b:
    if i % 2 == 0:
        c.append(i)
    else:
        d.append(i)

c.sort()
d.sort()
print("Минимальное четное число:",c[0])
print("Максимальное нечетное число",d[-1])

ответ дан 14 мая 2021 в 5:42

Danis's user avatar

DanisDanis

19.1k5 золотых знаков20 серебряных знаков55 бронзовых знаков

3

0 / 0 / 0

Регистрация: 21.04.2021

Сообщений: 14

1

Определите минимальное чётное число, записанное в файле.

04.05.2021, 21:00. Показов 10067. Ответов 6


Студворк — интернет-сервис помощи студентам

Текстовый файл состоит не более чем из 10^6 символов. Определите минимальное чётное число, записанное в этом файле.
Напишите пожалуйста программу



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

04.05.2021, 21:00

6

__ALPHA__

298 / 156 / 87

Регистрация: 16.04.2018

Сообщений: 239

04.05.2021, 23:37

2

Python
1
2
3
4
5
6
7
8
9
with open('input.txt') as f:
    data = f.read()
lst = data.split() #раздетилети чисел: пробелы и переносы строки
lst = list(map(int, lst)) #преобразуем числа в тип int
lst.sort() #сортируем список чисел по возрастанию
for n in lst:
    if n%2 == 0:
        print(n)
        break



0



4200 / 2487 / 525

Регистрация: 07.11.2019

Сообщений: 4,133

05.05.2021, 05:41

3

__ALPHA__, сортировка это нехорошее излишество в данном случае, нужно только минимальное, а не все.
Кроме того, в файле могут быть не только числа.



1



КулХацкеръ

700 / 347 / 103

Регистрация: 09.02.2018

Сообщений: 787

05.05.2021, 08:01

4

Python
1
print((lambda even: 'Минимальное четное число: ' + str(min(even)) if len(even) else 'Нет четных чисел.')((lambda f: list(filter(lambda x: x % 2 == 0, map(int, filter(lambda s: __import__('re').fullmatch('-?\d+', s) is not None, f.read().split())))) + (lambda _: [])(f.close()))(open('input.txt'))))



0



iSmokeJC

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16118 / 9004 / 2605

Регистрация: 21.10.2017

Сообщений: 20,705

05.05.2021, 08:07

5

Дабу

Python
1
2
3
4
import re
 
with open('in.txt', 'r') as f:
    print(min(map(int, re.findall(r'-?d*[02468]b', f.read()))))



1



0 / 0 / 0

Регистрация: 21.04.2021

Сообщений: 14

05.05.2021, 14:07

 [ТС]

6

в файле имеются не только цифры, поэтому выдает ошибку можно это както исправить?



0



Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16118 / 9004 / 2605

Регистрация: 21.10.2017

Сообщений: 20,705

05.05.2021, 14:10

7

Код этажом выше игнорирует все кроме чисел



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

05.05.2021, 14:10

Помогаю со студенческими работами здесь

Найти и вывести минимальное трехзначное число, записанное в массиве
Дан целочисленный массив из 30 элемента,
все элементы которого – неотрицательные числа, не…

Найти и вывести минимальное трехзначное число, записанное в данном массиве
Дан целочисленный массив из 30 элементов, все элементы которого – неотрицательные числа, не…

Дана последовательность из n целых чисел. Определить максимальное четное число и минимальное нечетное число в этой последовательности
Ув. форумчане, будьте добры, помогите решить следующую задачу…

Дана последовательность из n…

Найти наименьшее число, записанное в типизированном файле
Дано файл f , компоненты которого являются целыми числами . Найти наименьшее число , записанное в…

Определить минимальное четное число из введенных
программа читает числа и определяет самое маленькое четное число.тоесть если ввел 1 3 5 4 7 то на…

Найти минимальное четное число последовательности
1. С клавиатуры вводится последовательность целых чисел. Признак окончания ввода – число,…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

7

I’m trying to get the minimum odd number using python. I used lambda, loops and other methods to get minimum odd number but i was not able to get that using functions. here is my code

z= [1,8,-4,-9]

def min_odd(x):
    for i in x:
        if (i%2!=0):
    return min(i)

y = min_odd(z)
print (y)

Can some please tell me what i was missing here.

asked Sep 15, 2018 at 20:14

rotwar's user avatar

4

The min() function expects an iterable like a list which it will then yield the smallest element from.

E.g. min([1,0,3]) gives 0.

So if you want to use it, you must create a list (or other iterable) of the odd numbers that you can then pass into it:

def min_odd(x):
    odds = []
    for i in x:
        if i % 2 != 0:
            odds.append(i)
    return min(odds)

note that we could also use a list-comprehension:

def min_odd(x):
    return min([i for i in x if i % 2 != 0])

which both work.


An alternative method would be to store the current minimum odd value in a variable and update this variable if we come across a smaller odd value:

def min_odd(x):
   min_v = float('inf')
   for i in x:
      if i % 2 != 0 and i < min_v:
         min_v = i
   return min_v

answered Sep 15, 2018 at 20:19

Joe Iddon's user avatar

Joe IddonJoe Iddon

19.9k7 gold badges33 silver badges52 bronze badges

3

Try:

min([val for val in z if val % 2 != 0])

answered Sep 15, 2018 at 20:20

msi_gerva's user avatar

msi_gervamsi_gerva

1,9743 gold badges20 silver badges27 bronze badges

It seems your code logics are wrong. First off, you seem to have an indentation error in the return statement. Second off, the min() function requires a collection of items (like an array for example) or a series of arguments to determine the minimum in that series. You can try multiple things.

  1. Use another variable to store a temporary minimum. Replace it every time you find a smaller odd value ( for every i in x… if the value is odd and is smaller than the previous odd value, replace it) and have it started with the first odd number you can find.

  2. Take all the odd numbers and add them to another array on which you will apply the min function.

Hope this proves useful!

answered Sep 15, 2018 at 20:26

vladvlad23's user avatar

You could pass a generator into the min() function:

def min_odd(iterable):
    return min(i for i in iterable if i % 2)

I didn’t write i % 2 != 0 because any odd number will return 1 which has a Boolean value of True.

I added a parameter to the function that takes the iterable so it can be used for any iterable passed in.

answered Sep 15, 2018 at 20:20

N Chauhan's user avatar

N ChauhanN Chauhan

3,3772 gold badges6 silver badges20 bronze badges

min operates on an iterable. i is not an iterable in your code; it’s the last element of the list.

You can achieve what you want with a filter, though:

min(filter(lambda e: e%2 != 0, x))

answered Sep 15, 2018 at 20:19

erip's user avatar

eriperip

16.2k11 gold badges66 silver badges121 bronze badges

Ответ:

Python

n=int(input(‘Введите количество чисел : ‘))

a=[0]*n

for i in range(n):

   a[i]=int(input(‘a[‘+str(i)+’]=’))

z=999999

for i in a:

   if z>i and i%2==0:

       z=i

if z!=999999:

   print(‘минимальное чётное число=’, z)

else:

   print(‘Чётных чисел не найдено’)

# 2 вариант с использованием sorted    

n=int(input(‘Введите количество чисел : ‘))

a=[0]*n

for i in range(n):

   a[i]=int(input(‘a[‘+str(i)+’]=’))

a=sorted(a)

for i in a:

   if i%2==0:

       print(‘минимальное чётное число=’, i)

       break

Не могу понять в чем ошибка. Во всех тестах ОК, кроме одного.
Ошибка во время выполнения программы.

Задача с информатикса:

Найти минимальное и максимальное из чётных положительных чисел, записанных в файле input.txt. Количество чисел неизвестно. Если в файле нет чётных положительных чисел, нужно вывести число 0. Результат записать в файл output.txt

Входные данные.
Целые числа записаны в файле input.txt в столбик, по одному в строке. Ввод заканчивается тогда, когда заканчиваются данные в файле.

Выходные данные.
Программа должна вывести в файл output.txt минимальное и максимальное из чётных положительных чисел, разделив их пробелом. Если в файле нет чётных положительных чисел, нужно вывести число 0.

Примеры

входные данные

1
2
3
4
-5
-8

выходные данные

2 4

Много различных вариаций решения придумал, но кину это:

Решение:

f=open('input.txt')
g=open('output.txt','w')
s=[int(i) for i in f.read().split()]
s=[i for i in s if (i>0 and i %2 == 0)]
if s != []:
    print(str(min(s))+' '+str(max(s)), file = g)
else:
    print('0', file = g)
f.close()
g.close()

Понравилась статья? Поделить с друзьями:
  • Как найти механические потери в асинхронном двигателе
  • Как найти видео с телеканала
  • Как исправить ошибку в снилс в сзв стаж
  • Как исправить ошибку ошибка инициализации платформы net framework
  • Как найти пещеру в волчьем логове