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

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

25.03.2016, 21:37. Показов 27802. Ответов 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
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
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
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
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
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
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
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
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
8840 / 4492 / 1864
Регистрация: 27.03.2020
Сообщений: 7,312
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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru