Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Python Определение корней линейного уравнения без логических операторов Помогите пожалуйста решить задачку. Нужен код с объяснением. Условие: имеется линейное уравнение a*x=b. На ввод дается два числа a и b. Требуется вывести 0 - если уравнение не имеет решений, 1 -... https://www.cyberforum.ru/ python-beginners/ thread2507700.html Python Ошибка: IndexError: list index out of range
file = open('info.txt', mode='r', encoding='utf-8') peoples = nums = for row in file.readlines(): n = int(row.split()) peoples.append(' '.join(row.split())) nums.append(n)
Python Помощь в лабораторных работах по Python https://www.cyberforum.ru/ python-beginners/ thread2507655.html
Ребята, помогите пожалуйста, разобраться в лабораторных работах. Среда разработки Python, лабораторные разработаны под Python 2.7. Можете попробовать на 3.5, но надо будет самим редактировать код в...
Python Создание базы данных по группе VK на Python Нужно создать базу данных (вопрос-ответ) для чат бота Абитуриент, из группы ВК. Подскажите, как это делать и с чего начать? https://www.cyberforum.ru/ python-beginners/ thread2507638.html
Python Нахождение самого младшего и самого старшего человека из txt
Есть txt файл в котором 5 строк(личный код человек,имя, фамилия) (содержимое txt ниже) 50001170299 Nikita Kuznecov 50102184262 Mihail Smirnov 50203198956 Edgar Fedorov 50304205654 Semjon...
Python Вывести на экран все натуральные числа до заданного включительно https://www.cyberforum.ru/ python-beginners/ thread2507623.html
Дано натуральное число. Вывести на экран все натуральные числа до заданного включительно. Помогите, пожалуйста
Python Матричные игры Используя минимаксные стратегии, определить верхнюю и нижнюю цену игры, заданной платежной матрицей, цену игры и оптимальные чистые стратегии игроков. 0 -1 6 1 0 7 2 1 8 https://www.cyberforum.ru/ python-beginners/ thread2507598.html Гвоздики Python
На прямой дощечке вбиты гвоздики. Любые два гвоздика можно соединить ниточкой. Требуется соединить некоторые пары гвоздиков ниточками так, чтобы к каждому гвоздику была привязана хотя бы одна...
Python Оптимизация кода по времени https://www.cyberforum.ru/ python-beginners/ thread2507479.html
Есть задача. Всем известно, что со временем клавиатура изнашивается, и клавиши на ней начинают залипать. Конечно, некоторое время такую клавиатуру еще можно использовать, но для нажатий клавиш...
Python Задача по словарю https://www.cyberforum.ru/ python-beginners/ thread2507417.html
Начал проходить Python, одна из простейших задач, но вообще не могу понять насчет сохранения ключа в памяти, пока идешь по словарю... На вход подается натуральное N и N строк вида : <команда> <вид...
После ввода времени в минутах программа выводит, какое расстояние в метрах пройдёт свет за это время Python
Выполнил данную задачу, но преподаватель сказал что не верно, вставляю код, подскажите в чём ошибка :D t = float(input("Введите количество времени в минутах: ")) v = 299792458/60 s = t*v ...
Python Как сделать варианты ответа в Python https://www.cyberforum.ru/ python-beginners/ thread2507277.html
Всем привет;) я начинающий программист я столкнулся с проблемой то в консоле пишет следующие: print("Ты прошёл игру") ^ IndentationError: expected an indented block Вот сам код: name...
0 / 0 / 0
Регистрация: 17.07.2019
Сообщений: 15
0

Проверить функцию удаления элемента из двунаправленного связанного списка . unittest - том - Python - Ответ 13873325

03.10.2019, 16:10. Показов 1571. Ответов 5
Метки (Все метки)

Есть двунаправленный связанный список удаляем из него элемент нужно проверить unittest - том
  1. Корректности полей head и tail после всех этих операций.
  1. Правильными ли получились сцепки внутри списка после удаления, указывает ли предыдущий перед удалённым узел на следующий
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class Node:
    def __init__(self, v, p=None, n=None):
        self.value = v
        self.prev = p
        self.next = n
 
class LinkedList2:
    def __init__(self):
        self.head = None
        self.tail = None
 
    def add_in_tail(self, item):
        if self.head is None:
            self.head = item
            item.prev = None
            item.next = None
        else:
            self.tail.next = item
            item.prev = self.tail
        self.tail = item
    def delete(self, val, all=False):
        one_run = self.head
        if self.head == None:  # после нахождения 1 го запускать цикл по новой
            return
        if one_run.value == val and self.head.next == None:  # если удаляем один элемент
            self.head = self.tail = None
            return
        if one_run.value == val:  # если удаляем первый элемент
            self.head = self.head.next
            one_run.next.prev = None
            one_run.next = None
            one_run = self.head
            if all == False:
                return
        while one_run is not None:
            if one_run.value == val and one_run.next != None:
                one_run = one_run.prev
                one_run.next = one_run.next.next
                one_run = one_run.next
                one_run.prev = one_run.prev.prev
                one_run = one_run.prev
                if all == False:
                    return
            if one_run.value == val and one_run.next == None:  # если в составе удаленного есть последний элемент
                one_run = one_run.prev
                one_run.next = None  # one_run.next.next
                self.tail = one_run
                if all == False:
                    return
            else:
                one_run = one_run.next
ну пример unittest - та
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
25
import unittest
 
class MyTestCase(unittest.TestCase):
 
    def test_delete(self):  # сравниваем после удвления элемента в пустой список
        my_list = LinkedList2.LinkedList2()
        my_list.add_in_tail(LinkedList2.Node(54))
        my_list.delete(54)
        self.assertEqual(my_list.head, my_list.tail)
        self.assertEqual(my_list.head, None)
        self.assertEqual(my_list.tail, None)
 
    def test_delete_end(self):  # сравниваем после удвления элемента из середины
        my_list = LinkedList2.LinkedList2()
        x = my_list.add_in_tail(LinkedList2.Node(10))
        my_list.add_in_tail(LinkedList2.Node(20))
        my_list.add_in_tail(LinkedList2.Node(30))
        my_list.add_in_tail(LinkedList2.Node(40))
        my_list.delete(30)
        self.assertEqual(my_list.head, x.self.head , 'хвосты не равны')
        self.assertEqual(my_list.head, None)
        self.assertEqual(my_list.tail, None)
 
if __name__ == '__main__':
    unittest.main()
соответственно первая функция в тесте отрабатывает , а вторая нет..подскажите как правильно обстрелять ее тестами?

Вернуться к обсуждению:
Проверить функцию удаления элемента из двунаправленного связанного списка . unittest - том Python
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2019, 16:10
Готовые ответы и решения:

Как будет выглядеть процедура удаления элемента из двунаправленного списка?
Построить процедуру удаления элемента из двунаправленного списка

Как осуществить загрузку двунаправленного связанного списка из файла?
имеется функция записи(естественно Employer это структура)void savelist(Employer *p, char* fname)...

Написать функцию удаления элемента из списка
Надо написать функцию Void del (int value) , которая удаляет элемент в списке и Elem *searth (int...

Поправить функцию удаления последнего элемента односвязного списка
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; struct...

5
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2019, 16:10
Помогаю со студенческими работами здесь

Определить рекурсивную функцию для удаления последнего элемента списка
Определить рекурсивную функцию для удаления последнего элемента списка

Определить в классе статическую компоненту - указатель на начало связанного списка объектов и функцию просмотра списка
Помогите пожалуйста доделать программу. Необходимо определить в классе статическую компоненту -...

Удаление элемента из связанного списка
Нужно удалить все элементы списка кратные 3. void Del() { if (head == NULL) cout &lt;&lt; &quot;\nСписок...

Удаление элемента связанного списка
Здравствуйте, у меня есть программа и нужно удалить элемент из связанного списка по порядковому...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru