Найти - Пользователи
Полная версия: Задание с онлайн-курса
Начало » Центр помощи » Задание с онлайн-курса
1
Cabsb
Надо вывести в список j те элементы списка a, которые не имеют четных цифр. Выдает такой ответ. Помогите пожалуйста с заданием.
py.user.next
Было
  
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']
>>>

Научись сначала длинные и неоптимальные решения конструировать. Этот шаг пропускать нельзя при обучении. Иначе потом надо будет что-то простое сделать, использовав для этого простейшее решение, а ты не сможешь, потому что пропустил этот этап при обучении.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB