Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 10, 2022 19:39:59

Cabsb
Зарегистрирован: 2022-12-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задание с онлайн-курса

Надо вывести в список j те элементы списка a, которые не имеют четных цифр. Выдает такой ответ. Помогите пожалуйста с заданием.

Прикреплённый файлы:
attachment 2 вариант.py (247 байт)

Офлайн

#2 Дек. 10, 2022 20:28:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9958
Репутация: +  856  -
Профиль   Отправить e-mail  

Задание с онлайн-курса

Было

  
a = ["1357", "87504", "28042"]
j = []
for i in range(len(a)):
    for b in range(len(a[i])):
        if "0" and "2" and "4" and "6" and "8" not in a[i][b]:
            j.append(a[i])
print(j)

Стало
  
>>> a = ["1357", "87504", "28042"]
>>> b = []
>>> 
>>> for i in range(len(a)):
...     f_has_digit = False
...     for j in range(len(a[i])):
...         if a[i][j] in "02468":
...             f_has_digit = True
...     if not f_has_digit:
...         b.append(a[i])
... 
>>> print(b)
['1357']
>>>

Краткое решение
  
>>> a = ["1357", "87504", "28042"]
>>> 
>>> b = [i for i in a if not set(i) & set("02468")]
>>> 
>>> print(b)
['1357']
>>>

Краткое решение
  
>>> a = ["1357", "87504", "28042"]
>>> 
>>> b = [i for i in a if not {j for j in i if int(j) % 2 == 0}]
>>> 
>>> print(b)
['1357']
>>>

Научись сначала длинные и неоптимальные решения конструировать. Этот шаг пропускать нельзя при обучении. Иначе потом надо будет что-то простое сделать, использовав для этого простейшее решение, а ты не сможешь, потому что пропустил этот этап при обучении.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version