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

Проверить имеют ли все элементы списка одинаковую четность

09.04.2026, 23:22. Показов 324. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех снова приветствую. Написать тесты не так просто оказалось. Перехожу ко 2ой задаче, которая виделась простой, но все сложилось как всегда. Итak, имеется :

Задача поставлена так : создать лист из 3х случайных целых чисел, который будет постоянно обновляться. Затем вызывать содержимое до тех пор пока не выпадет либо 3 четных, либо 3 нечетных числа. Выдать первый из этих выпавших двух допустимых нам результатов, т.е. тот который выпадет первым, после этого закрыть программу. Пока выпадает любой другой вариант, ничего не показывать ( не выдавать). Т.е. цикл должен вызывать содержимое листа, но его не печатать до тех пор пока не выпадет либо 3 четных, либо 3 нечетных.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
>>> import random
>>> def mrl() :
               return [random.randint (0,1000) for i in range (3)]
 
# задача в том чтобы показать результат только если все 3 числа листа либо четные, либо нечетные. Но луп должен сам крутиться пока не выпадет либо 3 четных либо 3 нечетных  
 
>>> def a():
    l=mrl()
    for val in l :
        if l[0]%2 and l[1] %2 and l[2] %2 :
            val= 'OD'
            print (val, 'Youpi ! info proov :', l)    # во-первых не понятно надо ли уже здесь ставить 'break'
        if l[0]%2==0 and l[1]%2==0 and l[2]%2==0 :
            val = 'EV'
            print(val, 'Youpi ! info proov :', l)
            break   # в итоге поставил здесь
               else:
                       continue     # это глупо, так как в норме дожно быть достаточно брейка. в любом случае ничего не работает
>>> a()    # все приходится набирать руками
>>> a()
>>> a()    #до тех пор пока не выпадает один из 2х вариантов
EV Youpi ! info proov : [938, 942, 502]
я постарался разобраться с тем как выходить из лупа "while True" , но не смог толком правильно прописать. Результата нет, либо еще хуже чем луп "for in"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2026, 23:22
Ответы с готовыми решениями:

Проверить, имеют ли три заданных целых числа одинаковую четность
var a, b : integer; begin Write('a = '); Readln(a); Write('b = '); Readln(b); Write(a mod 2 = b...

Сколько в наборе таких пар чисел, что числа в паре имеют одинаковую чётность
В текстовом файле записан набор натуральных чисел, не превышающих 1000000000. Гарантируется, что...

Проверка того, что два слова имеют одинаковую длину
Напишите функцию func4(w1, w2), которая принимает в качестве аргументов два слова w1 и w2 и...

8
27 / 23 / 4
Регистрация: 16.12.2025
Сообщений: 165
Вчера, 00:27
yaneya0, возможно не полностью понял условия, так?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import random
 
def mrl():
    return [random.randint(0,1000) for x in range(3)]
 
# do while loop
while True:
   nums = mrl() # случайные числа
   is_even = lambda x: x % 2 == 0
   even_count = sum(is_even(num) for num in nums)  # количество чётных
   if even_count == len(nums) or even_count == 0 :
      print(nums, "--->", ("Even", "Odd")[even_count == 0])
      break
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38201 / 21133 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 14
Вчера, 06:43
yaneya0, по правилам Форума: Один вопрос - одна тема! Новая задача - новая тема! И обязательно приведи условие задачи. Копаться в коде без постановки никто не будет.
0
Модератор
Эксперт С++
 Аватар для zss
13776 / 10969 / 6491
Регистрация: 18.12.2011
Сообщений: 29,251
Вчера, 20:35
Что-то я в толк не возьму,
зачем здесь вообще цикл
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
import numpy
N=3
def a():
   L=numpy.random.randint(0,1000,N)
   LE=L % 2
   k=sum(LE)
   if k==N:
       print('OD:', L)
   elif k==0:
       print('EV:', L)
   else:
       print('not EV and  not OD:', L)
a()
a()
a()
Если очень хочется цикл, то вместо 6-7 строк напишите
Python
1
2
3
   k=0
   for val in L:
      k+=val % 2
Но, опять же, тут break не нужен
Можно с помощью while зациклить повторение функции a()
Python
1
2
3
4
while True:
   a()
   n=input("Enter R for repeat:")
   if n!='R':break
Ну, можно еще закончить цикл, когда все числа окажутся четными
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
import numpy
def a(L):
   LE = L % 2
   k = sum(LE)
   if k==len(L):
       return 'OD:'
   elif k==0:
       return 'EV:'
   return '!EV and !OD:'
N=3
while True:
   dat = numpy.random.randint(0,1000,N)
   res=a(dat)
   print(res,dat)
   if res=='EV:':
      break
0
0 / 0 / 0
Регистрация: 06.04.2026
Сообщений: 4
Вчера, 23:26  [ТС]
Задача поставлена так : создать лист из 3х случайных целых чисел, который будет постоянно обновляться. Затем вызывать содержимое до тех пор пока не выпадет либо 3 четных, либо 3 нечетных числа. Зааффишировать первый из этих выпавших двух допустимых нам результатов, т.е. тот который выпадет первым, после этого закрыть программу. Пока выпадает любой другой ывриант, ничего не показывать ( не аффишировать). Т.е. луп дожен вызывать содержимое листа, но его не печатать до тех пор пока не выпадет либо 3 четных, либо 3 нечетных. Иными словами :
Python
1
2
3
# назовем оттиск случайного листа mrl() как 'nums', nums= mrl(), тогда:
# если len([x for x in nums if x%2]) < 3 or len([x for x in nums if x%2==0]) <3 продолжать вызывать, но скрыто, ничего не печатая (так сказать "not break")
# а как только выпало len([x for x in nums if x%2==0])>2 or len([x for x in nums if x%2]>2,  то показать результат  и выйти, (print, exit), уж не важно с инструкцией break или другой
Добавлено через 2 часа 7 минут
К огромному сожалению, испльзование Нампая полностью исключено. Нет доступа и решение должно быть прописано без numpy -((
0
125 / 120 / 18
Регистрация: 05.08.2021
Сообщений: 543
Сегодня, 03:12
Python
1
2
3
4
5
6
7
8
9
10
11
12
s1 = [2,4,8]
s2 = [2,3,8]
s3 = [5,7,9]
 
def f(a):
    n1 = list(filter(lambda x: not x % 2, a))
    n2 = list(filter(lambda x: x % 2, a))
    return len(n1) == len(a) or len(n2) == len(a)
 
print(f(s1))
print(f(s2))
print(f(s3))
True
False
True
0
Модератор
Эксперт С++
 Аватар для zss
13776 / 10969 / 6491
Регистрация: 18.12.2011
Сообщений: 29,251
Сегодня, 06:14
Ну тогда так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
def a(L):
   LE = map(lambda x: x % 2,L)
   k = sum(LE)
   if k==len(L):
       return 'OD:'
   elif k==0:
       return 'EV:'
   return '!EV and !OD:'
N=3
while True:
   dat = [random.randint(0,1000) for x in range(N)]
   res=a(dat)
   if res=='EV:' or res=='OD:':
      print(res,dat)
      break
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38201 / 21133 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 14
Сегодня, 07:01
Цитата Сообщение от yaneya0 Посмотреть сообщение
К огромному сожалению, испльзование Нампая полностью исключено. Нет доступа и решение должно быть прописано без numpy
"прописывает" врач

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from random import randint
while True:
    lst=[]
    for _ in range(3):
        lst.append(randint(0,1000))
    ev,od=0,0
    for a in lst:
        if a%2==0:
            ev+=1
        else:
            od+=1
    if ev==3 or od==3:
        print(lst)
        print("OK")
        break
1
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,762
Сегодня, 08:29
Python
1
2
3
4
5
6
7
8
9
10
import random
n=3
def mrl():
    return [random.randint (0,1000) for i in range (n)]
def test(a):
    return sum(i%2 for i in a)%n
lst=mrl()
while  test(lst):
    lst=mrl()
print(lst)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
Сегодня, 08:29
Помогаю со студенческими работами здесь

Проверка того, что два слова имеют одинаковую длину
Напишите функцию func4(w1, w2), которая принимает в качестве аргументов два слова w1 и w2 и...

При каких основаниях в записи числа каждые две соседние цифры имеют разную четность
Число 78 записали в системах счисления с основаниями от 2 до 10 включительно. При каких основаниях...

Среднее арифметическое чисел, имеющих ту же четность, что и сумма всех данных при всех вызовах функции
Напишите функцию refinement(), которая будет уточнять вывод после каждого вызова. Функция...

Функция проверяющая что сумма цифр имеет ту же четность, что и все число
Создайте функцию, которая принимает число в качестве входных данных и возвращает true, если сумма...

Запросить число и проверить его на четность
подскажите,как написать программу не более чем в три строки, которая запрашивает число, и выводит...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru