Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/146: Рейтинг темы: голосов - 146, средняя оценка - 4.89
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431

Автопроверка пишет, что неверное решение, укажите на ошибку, пожалуйста!

25.03.2016, 21:37. Показов 27922. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""Напишите программу, которая считывает список чисел lst из
первой строки и число x из второй строки, которая выводит все позиции,
на которых встречается число x в переданном списке lst.
 
Позиции нумеруются с нуля, если число x
не встречается в списке, вывести строку "Отсутствует" (без кавычек, с большой буквы).
Позиции должны быть выведены в одну строку, по возрастанию абсолютного значения."""
 
lst = input()
lst = lst.split()
x = int(input())
index = []
c = 0
d = str(x)
if lst.count(d) == 0:
    print("Отсутствует")
while c < len(lst):
    if x == int(lst[c]):
        index.append(c)
    c+=1
index = set(index)
if index:
    print (*index)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"""
 
Напишите функцию modify_list(l), которая принимает на вход список целых чисел, удаляет из него
все нечётные значения, а чётные нацело делит на два. Функция не должна ничего возвращать,
требуется только изменение переданного списка, например:
 
lst = [1, 2, 3, 4, 5, 6]
print(modify_list(lst))  # None
print(lst)               # [1, 2, 3]
modify_list(lst)
print(lst)               # [1]
 
lst = [10, 5, 8, 3]
modify_list(lst)
print(lst)               # [5, 4]
 
Функция не должна осуществлять ввод/вывод информации.
"""
def modify_list(lst):
    for i in lst:
        if  i%2 != 0:
            lst.remove(i)
    for i in range(len(lst)):
        lst[i] = lst[i]//2
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2016, 21:37
Ответы с готовыми решениями:

пишет ошибку: error expected unqualified-id before '{' token скажите что делать пожалуйста
Создать массив структур величиной 20, состоящий из целочисленных элементов X и Y. Заполнить массив любыми числами, вывести на экран...

Укажите пожалуйста ошибку(и)
#include &lt;iostream&gt; using namespace std; struct box { char maker; float height; float width; float length; float...

Укажите пожалуйста на ошибку
Ругается на массив a и b, как можно это обойти? Часть кода... Точнее сказать, ошибка в том, что не имя массива уже есть, а мне нужно...

14
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
25.03.2016, 22:10
Python
12
13
14
15
16
17
18
19
20
21
22
i = -1
while True:
    try:
        i = lst.index(x, i + 1)
    except ValueError:
        break
    print(i, end=' ')
if i == -1:
    print('Отсутствует')
else:
    print()
0
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431
28.03.2016, 18:44  [ТС]
К сожалению не разобрался...
0
30 / 30 / 22
Регистрация: 13.02.2016
Сообщений: 131
28.03.2016, 21:54
здесь enumerate лучше использовать
Python
1
2
3
4
5
6
7
8
lst = input().split()
x = input()
if lst.count(x):
    for i, j in enumerate(lst):
            if j == x:
                print(i, end = ' ')
else:
    print('Отсутствует')
А вообще
Python
1
2
3
lst = input().split()
x = input()
print(*[i for i, j in enumerate(lst) if j == x] if lst.count(x) else 'Отсутствует')
1
 Аватар для Semen-Semenich
5232 / 3477 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
28.03.2016, 23:07
Цитата Сообщение от Whost Посмотреть сообщение
lst = input().split()
x = input()
print(*[i for i, j in enumerate(lst) if j == x] if lst.count(x) else 'Отсутствует')
вывод о т с у т с т в у е т не айс выглядит добавь sep=''
так же можно и без enumerate обойтись
Python
1
2
lst,x = input().split(),input()  
print(*[i for i in range(len(lst)) if lst[i]==x]if lst.count(x) else 'Отсутствует',sep='')
Добавлено через 54 минуты
Цитата Сообщение от izuchaju_python Посмотреть сообщение
Напишите функцию modify_list(l),
может дело в выводе? строка print(modify_list(lst)) выводит None а система считает это за ответ
попробуй так
Python
1
2
3
lst = [1, 2, 3, 4, 5, 6]
modify_list(lst)
print(lst)
а может требуется вывод строкой а не списком
0
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431
29.03.2016, 00:58  [ТС]
print(modify_list(lst)) - это пример с условия..в условии написано, что программа не должна ничего выводить..

Добавлено через 10 минут
Python
1
2
3
4
5
6
7
8
9
def modify_list(l):
    i, n = 0, len(l)
    while i < n:
        if l[i] % 2:
            l.pop(i)
            n -= 1
        else:
            l[i] = int(l[i] / 2)
            i += 1
Верное решение...уже завтра разберусь, что не так с моим...

Добавлено через 37 секунд
а может и не разберусь, поэтому рад буду услышать от вас что-то))
0
 Аватар для Semen-Semenich
5232 / 3477 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
29.03.2016, 09:42
Цитата Сообщение от izuchaju_python Посмотреть сообщение
Функция не должна осуществлять ввод/вывод информации.
я правильно понял?
так она и не выводит ничего. а как ты проверишь что массив изменен и сравнишь его с ответом?
Python
1
print(lst)
это же не из функции вывод а из основной ветки программы что не противоречит условию
Python
1
2
3
4
5
6
7
8
9
10
def modify_list(lst):
    for i in lst:
        if  i%2 != 0:
            lst.remove(i)
    for i in range(len(lst)):
        lst[i] = lst[i]//2
 
lst = [1, 2, 3, 4, 5, 6]
modify_list(lst)
print(lst)
0
30 / 30 / 22
Регистрация: 13.02.2016
Сообщений: 131
29.03.2016, 21:17
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
добавь sep=''
Без пробела числа не красиво выводятся)
Сделал так
Python
1
print(*[i for i, j in enumerate(lst) if j == x]) if lst.count(x) else print('Отсутствует')
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
так же можно и без enumerate обойтись
С enumerate удобнее же
0
 Аватар для Semen-Semenich
5232 / 3477 / 1175
Регистрация: 21.03.2016
Сообщений: 8,305
29.03.2016, 21:55
Цитата Сообщение от Whost Посмотреть сообщение
Без пробела числа не красиво выводятся
согласен и это будет ошибка при проверке но и слово о т с у т с т в у е т с пробелами система как ошибку посчитает.вывод напрашивается нужно изменить формат вывода
Python
1
2
3
lst, x = input().split(), input()
index_x=[str(i) for i in range(len(lst)) if lst[i]==x] # или [str(i) for i, j in enumerate(lst) if j == x]
print(' '.join(index_x) if index_x else 'Отсутствует')
0
2 / 2 / 0
Регистрация: 23.04.2015
Сообщений: 13
19.05.2016, 18:56
"""

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

lst = [1, 2, 3, 4, 5, 6]
print(modify_list(lst)) # None
print(lst) # [1, 2, 3]
modify_list(lst)
print(lst) # [1]

lst = [10, 5, 8, 3]
modify_list(lst)
print(lst) # [5, 4]


Функция не должна осуществлять ввод/вывод информации.

ответ:
Python
1
2
3
4
5
6
7
8
9
def modify_list(lst):
    i = 0
    while i < len(lst):
        if not(lst[i]%2):
            lst[i] =int(lst[i]/ 2)
            i += 1
        else:
            del lst[i]
    return None
0
2 / 2 / 0
Регистрация: 24.08.2020
Сообщений: 15
08.09.2020, 14:21
Написал такое решение:
Python
1
2
3
4
5
6
a = [int(i) for i in input().split(' ')]
x = int(input())
pos = 0
for i in range(len(a)):
    print(a.index(x,pos), end=' ')
    pos = a.index(x,pos) + 1
Программа правильно считает и выводит результат, но сразу же выдает и такое:
"Traceback (most recent call last): File "путь", line 45, in print(a.index(x,pos), end=' ') ValueError: 3 is not in list".

Хотелось бы понять что именно не так. Помогите пожалуйста.

Аналогичное решение работает для поиска подстроки в строке. Но тут, в списке, почему-то выдает, что не видит искомого числа в списке, хотя до этого считает его индекс в цикле.
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
08.09.2020, 15:28
Python
1
2
3
a = [int(i) for i in input().split(' ')]
x = int(input())
print(*[i for i in range(len(a)) if a[i] == x])
Добавлено через 6 минут
По твоему коду - замени:
Python
1
for i in range(len(a)):
на
Python
1
while x in a[pos:] :
1
2 / 2 / 0
Регистрация: 24.08.2020
Сообщений: 15
08.09.2020, 19:34
Спасибо. Как раз для цикла while я понимаю что работает. Не понятно почему такое же не работает для цикла for. А самое не понятное для меня, что в случае с использованием цикла for в этой задаче программа выдает правильный ответ и одновременно с этим выдает ValueError. Хотелось бы разобраться что такого (и на каком этапе) делает цикл for (в отличие от того же while), что выдается ValueError
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
08.09.2020, 19:39
Когда искомое число заканчивается в списке, цикл for продолжает работать.
У тебя в коде стоит оператор print. Надо печатать. А что печатать, если искомого числа больше нет?
Кстати, если искомое число будет занимать последнюю позицию, то и for отработает корректно

Добавлено через 1 минуту
a.index - возвращает ошибку, когда нет искомого
0
2 / 2 / 0
Регистрация: 24.08.2020
Сообщений: 15
08.09.2020, 21:46
В том и суть, что последний элемент в списке не меняет картину. Цикл for работает (в моем) случае в интервале len(a). И когда я в список "а" генерирую хоть последнюю, хоть все элементы равные искомому - ошибка все-ровно остается. Поэтому и заинтересовался ее природой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.09.2020, 21:46
Помогаю со студенческими работами здесь

Укажите пожалуйста на ошибку
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;cmath&gt; using namespace std; void zapolnenie(int count, int array) { for...

Укажите ошибку пожалуйста
№ 3 вариант 8 #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { const float Eps=1E-4; int...

Укажите на ошибку пожалуйста, таблица 4 и 5
Укажите на ошибку пожалуйста, таблица 4 и 5

Укажите пожалуйста на ошибку, я в непонятках
Ошибка заключается в методе NM. В условии while, она не хочет работать. Что я делаю не так? Подскажите :) import java.util.Scanner; ...

Укажите на ошибку пожалуйста C++ код
Всего выдаёт 2 ошибки 1 C2760 Синтаксическая ошибка: ожидается «Нет данных» не «Нет данных»(строка 14) 2 С2760 Синтаксическая ошибка:...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru