Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/64: Рейтинг темы: голосов - 64, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 18

Чётное число десятков элемента в списке

21.02.2020, 19:10. Показов 13523. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет количество элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная.
Входные данные
Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – число элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная.
Я написал вот такой код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
a,b,c=map(int,input().split())
f=[]
k=0
n=0
import random
while k<c:
    k+=1
    d=random.randint(a,b)
    f.append(d)
    if abs(d)//10%10%2==0 and d>9 or abs(d)//10%10%2==0 and d<-9 :
        n+=1
print(' '.join(str(i) for i in f))
print(n)
У меня не проходит приблизительно 1/3 тестов. Помогите пожалуйста усовершенствовать этот код или написать новый. Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.02.2020, 19:10
Ответы с готовыми решениями:

Четное число десятков
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне и определяет количество элементов этого...

Определить количество элементов массива, у которых число десятков - четное
Напишите программу, которая заполняет массив из 8 элементов целыми числами в диапазоне и определяет количество элементов этого массива, у...

Cумма всех чисел, у которых сумма единиц и десятков - четное число
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, у которых сумма единиц и десятков - четное...

9
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
21.02.2020, 19:33
Цитата Сообщение от Joshmo Посмотреть сообщение
заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ]
начните с этого генератором
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
21.02.2020, 20:00
можно перевести число в строку:
Python
1
2
if str(d)[-2] in '24680':
 n+=1
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
22.02.2020, 09:58
Цитата Сообщение от u235 Посмотреть сообщение
можно перевести число в строку
зачем?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from random import randint
 
def fun(x):
    x = x //10
    if x:
        if not x %10 %2:
            return True
    return False
 
    
a,b,c=map(int,input().split())
f = [randint(a,b) for _ in range(c)]
print(*f,sep =' ')
print(*filter(fun, f) )
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
22.02.2020, 11:34
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
зачем?
Ну хотя бы потому, что не нужно дополнительно рассматривать случай отрицательных чисел (у вас некорректно будет обрабатывать отрицательные числа).
Поправил свой код для чисел состоящей из одной цифры:
Python
1
2
if str(d).zfill(3)[-2] in '24680':
 n+=1
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
22.02.2020, 12:11
u235, ну я исходил из того что перевод числа в строку это затратная операция а с отрицательными решается просто
Python
1
2
3
4
5
6
7
def fun(x):
    x = abs(x)
    x = x //10
    if x:
        if not x %10 %2:
            return True
    return False
осталось только проверить по времени и памяти вариант с строкой и без на больших числах и их количестве и выбрать
2
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
22.02.2020, 13:03
Лучший ответ Сообщение было отмечено Joshmo как решение

Решение

Semen-Semenich, понятно, но print же все равно переводит числа в строку перед выводом.
Я вообще бы решил задачу как-то так:
Python
1
2
3
4
5
6
from random import randint
a,b,c=map(int,input().split())
f = [str(randint(a,b)) for _ in range(c)]
d=[i.zfill(3)[-2] in '24680' for i in f]
print(*f,sep =' ')
print(sum(d))
1
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 18
27.02.2020, 00:36  [ТС]
Можете пожалуйста объяснить 4 строчку вашего кода. Спасибо
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
27.02.2020, 03:16
Лучший ответ Сообщение было отмечено Joshmo как решение

Решение

Joshmo, дополняем строковое представление числа нулями до трех знаков(на случай чисел из одной цифры и отрицательных), проверяем что второй символ с конца (десятки) "четный", т.е. 0 или 2 или 4 или 6 или 8. Если это так, то в d добавляется True, иначе False.
6-ой строкой считаем число True в списке.
1
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
27.02.2020, 04:30
u235,
Print по дефолту sep=' '
можно просто
Python
1
print(*f)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.02.2020, 04:30
Помогаю со студенческими работами здесь

Нужно продублировать первое чётное число в односвязном списке
Написал вот такой код, он рабочий, но никак не пойму, что нужно сделать, чтоб выполнялась поставленная задача. Прошу помочь. #include...

Найти наименьшее четное число и больше четное число заданных интервалов
3. Интервал принимает одно из трех значений: , , . Найти наименьшее четное число и больше четное число.

Дан список чисел. Выведите значение наибольшего элемента в списке, а затем индекс этого элемента в списке
Дан список чисел. Выведите значение наибольшего элемента в списке, а затем индекс этого элемента в списке. Если наибольших элементов...

Список из двух элементов: значение наибольшего элемента в списке и индекс этого элемента в списке
Напишите программу с функцией, которая для списка, переданного аргументом, возвращает список из двух элементов: значение наибольшего...

Зависает при вставке нового элемента, если новый элемент - четное число
задание:Дана последовательность целых чисел. Удалить все максимальные элементы. После всех четных элементов вставить новый элемент....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru