Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 8

Функция отрабатывает верно, но возвращает другой список

28.02.2020, 17:42. Показов 1503. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! в упор не вижу, где ошибка, функция выдает правильный список, но при возвращении в место вызова список выдает уже другой, происходит такое не каждый раз. помогите,пожалуйста, узнать в чем тут дело
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def cleandata(a):
     r=[a[0]]
     i=1
     j=0
     while i<len(a):
         if r[j] != a[i]:
              r.append(a[i])
              j=j+1
         i=i+1
    print (r)
    return r
b=[55,55,56,57,56,56,56,54,55,54,54,54,55]
c=cleandata(b)
print (c)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.02.2020, 17:42
Ответы с готовыми решениями:

Верно ли, что функция - это метод который возвращает значение
Здраствуйте уважаемые знатоки :). Я читаю уже не одну статью про методы и функции. И у меня снова поменялось мнение о том чтоже такое...

Функция принимает список 3 числа и возвращает список (x (x) x). Как это сделать???
т.е (1 2 3) -&gt; (1 (2) 3)

Функция не возвращает Notesdocument из другой БД
Function GetDoc(UN as string) as NotesDocument Dim doc As NotesDocument ........... Set GetDoc = doc ExitFunction - лежит в...

8
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
29.02.2020, 05:58
обязательно через индексы?
Python
1
2
3
4
5
6
7
8
>>> b=[55,55,56,57,56,56,56,54,55,54,54,54,55]
>>> r = []
>>> for i in b:
    if not i in r:
        r.append(i)
        
>>> r
[55, 56, 57, 54]
0
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 8
29.02.2020, 14:29  [ТС]
Ваш код удаляет все дубли, в моем только идущие подряд.но все равно спасибо)))
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.02.2020, 16:25
Цитата Сообщение от AinanaNana Посмотреть сообщение
Ваш код удаляет все дубли,
Здесь принято объяснять исходную задачу, а не предлагать догадаться что не так.
Экстрасены есть на другом форуме.
1
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 8
29.02.2020, 17:46  [ТС]
ну давайте попробую еще раз. функция cleandata правильно удаляет идущие подряд дубли, в строке 10 print выводит правильный результат, но при попадании этого результата в место вызова(строка 13) print в 14 строке выводит другой результат.извините, лучше объяснять не умею
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.02.2020, 17:59
Цитата Сообщение от AinanaNana Посмотреть сообщение
но при попадании этого результата в место вызова(строка 13) print в 14 строке выводит другой результат
Какой другой? Мы тоже должны догадаться?

Добавлено через 2 минуты
Code
1
2
[55, 56, 57, 56, 54, 55, 54, 55]
[55, 56, 57, 56, 54, 55, 54, 55]
0
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 8
29.02.2020, 18:25  [ТС]
может я незаметно для себя где синтаксис подправила,не знаю, но сейчас все работает.не подумайте, чужое время просто так тратить не собиралась.спасибо за внимание
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.02.2020, 18:53
Лучший ответ Сообщение было отмечено AinanaNana как решение

Решение

Кстати, while и счетчики здесь как-то не нужны...
Python
1
2
3
4
5
6
7
def cleandata(a):
    clean = [a[0]]       
    for i in range(1,len(b)):
        # если элемент не повтор предшествующего элемента - наш [S]человек[/S] элемент
        if a[i] != a[i-1]:
            clean.append(a[i])
    return clean
Code
1
[55, 56, 57, 56, 54, 55, 54, 55]
1
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 8
29.02.2020, 19:03  [ТС]
спасибо))) куда мне до такого кода, я только учусь)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.02.2020, 19:03
Помогаю со студенческими работами здесь

Функция возвращает список сумм
Функция возвращает список сумм: 1-го элемента, 2-х первых элементов, 3-х первых элементов и т.д Помогите пожалуйста разобраться в коде. ...

Функция, которая возвращает список
Здравствуйте! Помогите, пожалуйста, написать функцию, которая возвращает список вида (The answer is n); так, значением функции с...

Список не видит то, что возвращает функция
Добрый день! Создал именованный диапазон &quot;Numbers&quot; через кнопку &quot;Создать из выделенного&quot;. Создал функцию AFunction(), которая...

Как в delphi использовать значение, которое возвращает функция в другой функции
как в delphi использовать значение которое возвращает функция в другой функции??? Например : Procedure Start(var T); вот это...

Функция возвращает указатель на нужную ячейку переданного массива, но адрес другой
Пишу котрольку. В функцию передается массив созданный из объектов на основе собственной структуры. Ищет в нем нужную ячейку по одному из...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru