Найти - Пользователи
Полная версия: где ошибка?
Начало » Python для новичков » где ошибка?
1
dima757
Выведите все четные элементы списка. При этом используйте цикл for, перебирающий элементы списка, а не их индексы!
a = input().split()
for i in range(len(a)):
a[i] = int(a[i])
if a[i] % 2 == 0:
a.append(i)
print(a)
Firik
a = [1, 2, 3, 4, 5, 6, 7]
for i in a[1: len(a): 2]:
print(i)
Или так
a = [1, 2, 3, 4, 5, 6, 7]
print([i for i in a[1: len(a): 2]])
dima757
нам надо чётные элементы, а не индексы. список произвольный
Firik
dima757
Вы или не запускали пример или путаете индексы с элементами.
dima757
ерунда получается
если дано 1 2 2 3 3 3 4 выводит 2 3 3
должно 2 2 4
marvellik
dima757
При этом используйте цикл for, перебирающий элементы списка,
а вы кстати перебираете по индексам в своем решении

a = [1, 2, 3, 4, 5, 6, 7]
for i in a:
  if i%2 == 0:
    print(i)
или так
a = [1, 2, 3, 4, 5, 6, 7]
print([i for i in a if i%2 == 0])
dima757
Спасибо!!!!
В итоге вышло так
a = input().split()
for i in a:
    i = int(i)
    if i % 2 == 0:
        print(i)    
marvellik
можно проще
for i in input().split():
    if int(i) % 2 == 0:
        print(i)
dima757
спасибо
но для меня(чайника) хоть как
py.user.next
dima757
Выведите все четные элементы списка.
>>> lst = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4]
>>> 
>>> [i for i in lst if i % 2 == 0]
[2, 4, 6, 2, 4]
>>> 
>>> list(filter(lambda x: x % 2 == 0, lst))
[2, 4, 6, 2, 4]
>>>

marvellik
можно проще
Надо, чтобы сразу поступал список чисел.

Просто переделать вот это
dima757
a = input().split()
for i in a:

Вот в это
a = map(int, input().split())
for i in a:

>>> a = map(int, input().split())
1 2 3 4 5
>>> a
<map object at 0xb740a32c>
>>> list(a)
[1, 2, 3, 4, 5]
>>>
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