Feelmore 0 / 0 / 0 Регистрация: 05.01.2022 Сообщений: 17 |
||||
1 |
||||
Найти максимальный из элементов списка с чётным индексом27.03.2022, 01:44. Показов 3465. Ответов 10 Метки python (Все метки)
Дано : Моё решение:
Всё работает, если пользователь вбивает числа. Но если среди них ввести строку, то возникает ошибка. Как окультурить эту ошибку? Т.е. если пользователь, введёт хоть букву среди элементов списка, то на выводе написать ему что-то типа ‘введите только численные значения’. Я знаю это можно как-то сделать при помощи метода isdigit(). Но вот всю голову сломал, не доходит как Помогите пожалуйста
0 |
InfiSupaSta 24 / 18 / 7 Регистрация: 19.02.2022 Сообщений: 43 |
||||||||
27.03.2022, 05:25 |
2 |
|||||||
Добавить в 5 строку проверку element.isdigit(), увеличение индекса на 7 строке перенести в тело цикла.
Код между 1 и 8 строками можно заменить на одну строку:
1 |
Aviz__ 2442 / 1898 / 475 Регистрация: 17.02.2014 Сообщений: 9,154 |
||||
27.03.2022, 10:19 |
3 |
|||
‘введите только численные значения’ молча убирает))
0 |
Пифагор 2169 / 1652 / 840 Регистрация: 10.01.2015 Сообщений: 5,184 |
||||
27.03.2022, 11:30 |
4 |
|||
Такой вариант:
0 |
Feelmore 0 / 0 / 0 Регистрация: 05.01.2022 Сообщений: 17 |
||||
27.03.2022, 13:00 [ТС] |
5 |
|||
Добавить в 5 строку проверку element.isdigit(), увеличение индекса на 7 строке перенести в тело цикла.
Я наверное невнятно объяснил суть проблемы. Надо чтобы при введении пользователем чего-то кроме цифр, выскакивало сообщение, что это не правильный ввод, надо вводить только числа и пробелы. А в вашем варианте при введении чисел и букв, буквы просто игнорируются и выводит максимальный элемент из чисел.
0 |
2169 / 1652 / 840 Регистрация: 10.01.2015 Сообщений: 5,184 |
|
27.03.2022, 13:12 |
6 |
Миниатюры
0 |
Пифагор 2169 / 1652 / 840 Регистрация: 10.01.2015 Сообщений: 5,184 |
||||
27.03.2022, 13:37 |
7 |
|||
Требуется как-то иначе сделать? Добавлено через 9 минут
Добавлено через 14 минут
А в вашем варианте при введении чисел и букв, буквы просто игнорируются и выводит максимальный элемент из чисел. Похоже, Вы не мой вариант тестировали…
1 |
Feelmore 0 / 0 / 0 Регистрация: 05.01.2022 Сообщений: 17 |
||||||||
27.03.2022, 14:01 [ТС] |
8 |
|||||||
Такой вариант:
Ваш код, я так понял, определяет максимальный чётный по счёту элемент. А надо чтобы определялся максимальный элемент с чётным индексом. То есть первый по счёту элемент имеет индекс 0 и это чётный индекс, второй по счёту элемент имеет индекс 1 — это не чётный индекс и т.д. Добавлено через 10 минут
Требуется как-то иначе сделать? Добавлено через 9 минут
А, теперь до меня дошло, что вы имели ввиду — максимальное чётное число в списке у вас определяет. А надо максимальный элемент из всех элементов имеющих чётный индекс, начиная с 0, где 0 — это чётный индекс. Например, имеем список: [777 4 8 10 24]. Максимальным элементом с чётным индексом здесь будет первый элемент 777, так как у него чётный индекс (0) и число 777 максимальное из всех других с чётным индексом.
0 |
Пифагор 2169 / 1652 / 840 Регистрация: 10.01.2015 Сообщений: 5,184 |
||||
27.03.2022, 14:52 |
9 |
|||
Сообщение было отмечено Feelmore как решение РешениеТак?
1 |
Feelmore 0 / 0 / 0 Регистрация: 05.01.2022 Сообщений: 17 |
||||||||
27.03.2022, 16:31 [ТС] |
10 |
|||||||
Так?
Да, спасибо. Теперь определяет верно, но как сделать чтобы это было единоразово? То есть, чтобы вывело результат один раз, а если хочешь ещё — заново запускай код Добавлено через 6 минут
Спасибо вам большое, уважаемый Пифагор
0 |
Пифагор 2169 / 1652 / 840 Регистрация: 10.01.2015 Сообщений: 5,184 |
||||
27.03.2022, 16:45 |
11 |
|||
Сообщение было отмечено Feelmore как решение Решение
Да, спасибо. Теперь определяет верно, но как сделать чтобы это было единоразово? Как вариант, можно не единоразово, с выходом из цикла по команде:
1 |
Решение на python задач с номером 25 егэ по информатике на поиск максимального элемента массива
В задачах с номером 25 егэ по информатике на поиск максимального элемента необходимо организовать ввод массива с клавиатуры, найти максимальный элемент массива, удовлетворяющий определенному условию. Разберем пример программы на python, которая ищет максимальный четный и максимальный нечетный элемент массива.
Код на Python для ввода с клавиатуры массива заданного размера. Подробно о работе с массивами в Python
a = []
n=10
for i in range(0, n):
a.append(int(input()))
Для максимального четного и нечетного элемента введем переменные и сначал присвоим им занечния первого элемента массива
maxc=a[0]
maxn=a[0]
В цикле for переберём все элементы массива и с помощью оператора условия в python if
сравним каждый нечетный элемент массива с текущим значением максимума, если этот элемент будет больше, то текущему максимуму присвоим значение этого элемента массива.
Чтобы проверить, является ли переменная четной, в условии нужно использовать выражение
переменная%2==0
Чтобы проверить, является ли переменная нечетной, в условии нужно использовать выражение
переменная%2!=0
Чтобы одновременно выполнялись оба условия, в условии if необходимо использовать логическую операцию and Подробно об условиях If в python
for i in range(0, n):
if a[i]%2==0 and a[i]>maxc:
maxc=a[i]
if a[i]%2!=0 and a[i]>maxn:
maxn=a[i]
Полная программа на Python, которая ищет максимальный четный и нечетный элемент массива
a = []
n=10
for i in range(0, n):
a.append(int(input()))
maxc=a[0]
maxn=a[0]
for i in range(0, n):
if a[i]%2==0 and a[i]>maxc:
maxc=a[i]
if a[i]%2!=0 and a[i]>maxn:
maxn=a[i]
print(‘максимальный четный элемент’,maxc)
print(‘максимальный нечетный элемент’,maxn)
Разберем решение на python задачи с номером 25 егэ по информатике на поиск максимального элемента массива.
Дан целочисленный массив из 10 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно Необходимо написать программу, которая позволяет найти и вывести максимальное значение среди двухзначных элементов массива, делящихся на 7. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом кратно 7, то вывести сообщение «Не найдено».
Организуем ввод массива с клавиатуры в python
a = []
n=10
for i in range(0, n):
a.append(int(input()))
max=1
Введем переменную max в которую будем записывать максимальное значение двузначных элементов массива. присвоим ей в начале программы значение 1. Если элементы удовлетворяющие нужному нам условию не будут найдены, то значение переменной max останется равным 1, это будет говорить о том что элементы не найдены
В цикле for перебираем все элементы массива и ищем максимум среди двузначных чисел
Двузначные элементы лежат в диапазоне от 10 до 99. Чтобы элемент был двузначным и делился на 7 в операторе условия необходимо, чтобы выполнялось сразу три условия одновременно
a[i]>9, a[i]<100, a[i]%7==0
Чтобы выполнялись все три условия необходимо в операторе условия If использовать логическую операцию and
for i in range(0, n):
if a[i]>9 and a[i]<100 and a[i]%7==0:
max=a[i]
В конце программы производится проверка найден ли хотя бы один элемент удовлетворяющий условию задачи, если элементы не найдены то выводится сообщение элементы не найдены
if max==1:
print(‘элементы не найдены’)
else:
print(‘максимальный элемент ‘, max)
Полная программа на python для поиска максимального двузначного элемента массива кратного 7
a = []
n=10
for i in range(0, n):
a.append(int(input()))
max=1
for i in range(0, n):
if a[i]>9 and a[i]<100 and a[i]%7==0 and a[i]>max:
max=a[i]
if max==1:
print(‘элементы не найдены’)
else:
print(‘максимальный элемент ‘, max)
Перейти к курсу python
Полезно почитать по теме решение на python задач с номером 25 егэ по информатике на тему массивы
Решение задач на python на массивы с накопителем
Решение задач на python на массивы на пары элементов массива
Поделиться:
Комментарии ()
Нет комментариев. Ваш будет первым!
Python задачи
Задайте массив с случайными значениями, далее среди элементов массива с четными индексами, найдите тот элемент, который имеет наибольшее значение. Разбор задачи на языке программирования python.
Алгоритм решения задачи на python
Для поиска максимума только среди четных индексов необходимо при переборе массива в цикле использовать шаг, равный 2. Предположим, что первый элемент с четным индексом и есть максимальный. Присвоим его индекс переменной. В цикле будем сравнивать значение очередного элемента со значением элемента которое записано в нашу переменную. Если текущий элемент больше, то перезапишем его в переменную.
Код для нахождения наибольшего чётного элемента массива
from random import random
N = 10
arr = [0] * N
for i in range(N):
arr[i] = int(random() * 100)
print(arr)
m = 0
for i in range(2,N,2):
if arr[i] > arr[m]:
m = i
print(‘Индкс элемента: ‘,m,’-‘,’Значение элемента массива: ‘, arr[m])
Python задачи
Все задачи на python
Репост статьи
23 декабря 2022 г.
Комментарии могут оставлять только зарегестрированные пользователи!
Комментарии
Ваш комментарий будет первым !
You can obtain the Highest Even value From your mentioned tuple not list by using filter() and lambda Expression.
Highest Even Element in The Tuple
Code Syntax
def highest_even(*tuple):
lis = filter(lambda x: x % 2 == 0, tuple)
return print(f"your maximum even number is: {max(lis)}")
highest_even(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555)
Output
your maximum even number is: 444
[Program finished]
Sorting Depending on Highest Even Element
Code Syntax
def highest_even_list(*tuple):
lis = sorted(filter(lambda x: x % 2 == 0, tuple), reverse=True)
return print(f"Sorted List depending on The highest Even Elements:n{lis}")
highest_even_list(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555)
Output
Sorted List depending on The highest Even Elements:
[444, 222, 12, 10, 8, 6, 4, 2]
[Program finished]
Using Kwargs for Reversing
You can also decide if you want to sort it ascending or descending using **kwargs
Code Syntax
def highest_even_list(*tuple, **kwargs):
lis = sorted(filter(lambda x: x % 2 == 0, tuple), **kwargs)
return print(f"Sorted List depending on The highest Even Elements:n{lis}")
highest_even_list(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555, reverse=True)
Output
Sorted List depending on The highest Even Elements:
[444, 222, 12, 10, 8, 6, 4, 2]
[Program finished]
Перейти к содержанию
Максимальный из элементов массива с четными индексами
Просмотров 4.1к. Обновлено 15 октября 2021
В массиве найти максимальный элемент с четным индексом.
Другая формулировка задачи: среди элементов массива с четными индексами, найти тот, который имеет максимальное значение.
В различных языках программирования индексация элементов выполняется по-разному. В одних первый элемент имеет индекс 1 (например, в Паскале и КуМире), в других — 0 (Python, C, Basic).
Таким образом, в одних языках элементами с четными индексами будут второй, четвертый, шестой и т. д. В других языках четные индексы будут у первого, третьего, пятого и т. д. элементов.
Для поиска максимума только среди четных (или среди нечетных) индексов необходимо при переборе массива в цикле использовать шаг, равный 2.
Предположим, что первый элемент с четным индексом и есть максимальный. Присвоим его индекс переменной max. Перебор начнем с индекса i = max + 2 до конца массива (N).
В цикле будем сравнивать значение очередного элемента со значением элемента по индексу max. Если текущий элемент больше, то запишем его индекс в max.
Pascal
const N = 10;
var
a: array[1..N] of integer;
i, max: byte;begin
randomize;
for i:=1 to N do a[i]:=random(100);
for i:=1 to N do write(a[i]:3);
writeln;
max := 2;
i := 4;
while i <= N do begin
if a[i] > a[max] then
max := i;
i := i + 2;
end;
writeln('№ ',max,' = ',a[max]);
end.
28 45 48 10 1 85 47 53 32 36
№ 6 = 85
В языке Pascal цикл for не имеет шага, поэтому при решении данной задачи используется цикл while, в теле которого счетчик i увеличивается на 2.
Задачу можно решить через цикл for, предусмотрев в его теле проверку индекса элемента на четность (например так: if odd(i) = false then … ).
Язык Си
#include
#define N 10main() {
printf("%3d", i);
int a[N];
int i, max;
for (i=0; i
}
printf("n");
srand(time(NULL));
for (i=0; i a[i] = rand() % 100;
printf("%3d", a[i]);
}
printf("n");max = 0;
if (a[i] > a[max]) max = i;
for (i=2; i
printf("%d: %dn",max,a[max]);
}
0 1 2 3 4 5 6 7 8 9
37 81 23 91 66 36 59 6 25 57
4: 66
Python
максимальный элемент с четным индексом Python
from random import random
N = 10
arr = [0] * N
for i in range(N):
arr[i] = int(random() * 100)
print(arr)
m = 0
for i in range(2,N,2):
if arr[i] > arr[m]:
m = i
print(m,'-',arr[m])
[42, 25, 94, 79, 86, 51, 99, 70, 74, 25]
6 - 99
КуМир
алг макс с чет индексами
нач
цел N = 10
цел таб arr[1:N]
цел i,m
нц для i от 1 до N
arr[i] := irand(10,99)
вывод arr[i]:3
кц
вывод нсm := 2
нц для i от 4 до N шаг 2
если arr[i] > arr[m] то
m := i
все
кц
вывод m,'-', arr[m]
кон
69 30 80 54 55 82 64 85 34 77
8-85
Basic-256
N = 10
dim arr(N)
for i=0 to N-1
arr[i] = int(rand*100)
print arr[i] + " ";
next im = 0
for i=2 to N-1 step 2
if arr[i] > arr[m] then
m = i
endif
next i
print m+"-"+arr[m]
49 12 1 37 96 47 70 1 5 66
4-96