Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Python Финал и не финал 1 Несколько команд участвуют в турнире по игре «Что? Где? Когда?». Согласно регламенту турнира, в финал проходит половина команд (с округлением вверх), набравшие больше правильных ответов, чем остальные. Помогите жюри сформировать итоговый протокол. Формат ввода На первой строке указано натуральное число N — количество команд. Далее следует описание результатов N команд в произвольном... https://www.cyberforum.ru/ python-tasks/ thread2383926.html Python Проверка выигрыша в игре крестики-нолики на увеличенном квадратном поле
Напишите программу, которая определяет, кто выиграл в крестики-нолики на увеличенном квадратном поле, выстроив подряд по горизонтали или по вертикали (диагональ не считается) три своих символа: крестики (вывести латинскую букву “x”), нолики (вывести “o”) или пока никто (вывести “-”). Гарантируется, что на поле нет победы одновременно обоих игроков. Про количество ходов, сделанных тем или иным...
Python Кто последний? Окунёмся в суровый и беспощадный мир очереди на приём к врачу в поликлинике. Напишем программу-медсестру, которая поможет врачу определить, кто следующий проходит к нему в кабинет. Изначально в очереди никого нет. Далее в каком-то порядке происходят события трёх типов: фраза «Кто последний? Я - <фамилия>.» означает, что пришёл новый пациент и встал в конец очереди; фраза «Я только... https://www.cyberforum.ru/ python-tasks/ thread2383334.html Python Некорректные логины https://www.cyberforum.ru/ python-tasks/ thread2383333.html
Вы работаете над крупным интернет-сервисом с богатой историей. Требования к логину, который выбирает пользователь, уже много лет не меняются: логин должен содержать только буквы, цифры и символ подчёркивания «_». Однако с первых месяцев работы вашего сервиса в базе данных до сих пор остаётся «наследство»: «плохие» логины, не удовлетворяющие этим требованиям. Поскольку ваша компания заботится...
Python Найди кота — 6
Найдите, в каких строках из введённых и в каком месте упоминается кот. Вместо явного цикла прохода по строке в цикле используйте подходящий метод строки. Формат ввода На первой строке вводится натуральное число N — количество строк. Далее следуют N строк. Формат вывода Для каждой строки, в которой есть сочетание символов «кот», нужно вывести (в порядке появления таких строк) номер...
Python Напишите программу, которая считывает список чисел, а затем выводит сумму в диапазоне от заданного до заданного https://www.cyberforum.ru/ python-tasks/ thread2382841.html
Напишите программу, которая считывает список чисел, а затем выводит сумму в диапазоне от заданного до заданного. При этом в программе не должно использоваться обращение к элементам по индексу. Формат ввода На первой строке вводится натуральное число N — количество чисел в списке. Далее следуют N целых чисел из списка, каждое на отдельной строке. Затем на отдельных строках следуют...
Python Напишите программу, которая составляет новое предложение по номерам слов из a в исходном https://www.cyberforum.ru/ python-tasks/ thread2382783.html
Напишите программу, которая составляет новое предложение по номерам слов из a в исходном. Предложение должно начинаться с большой буквы. Гарантируется, что в исходной строке только одна заглавная буква (в начале предложения). Формат ввода Сначала строка, содержащая номера слов через пробел. Затем строка, содержащая сами слова, записанные через пробел. Формат вывода Строка, составленная из...
Ним3-пасьянс Python
Игра Ним с тремя кучами для одного игрока без ограничений на количество забираемых камней. На первой, второй и третьей строках указывается начальное количество камней в первой, второй и третьей кучах. Далее идут ходы, каждый из которых представляется двумя числами на отдельных строках: на первой строке число 1, 2 или 3 — номер кучи, из которой берутся камни; на второй строке — количество...
Python Сортировка введенных чисел по убыванию Отсортируйте введённые числа по убыванию. Формат ввода На первой строке вводится натуральное число N — количество чисел. Далее следуют N целых чисел, которые надо будет отсортировать, каждое на отдельной строке. Формат вывода Выводятся те же N чисел, но не в том порядке, в котором они вводились, а в порядке убывания. Пример https://www.cyberforum.ru/ python-tasks/ thread2382318.html Python Модные средние в статистике https://www.cyberforum.ru/ python-tasks/ thread2382283.html
Ещё один способ предъявить «наиболее типичный» элемент из числового набора, помимо среднего и медианы — это мода. Для неупорядоченного набора значений мода — это попросту то значение, которое встречается в наборе наиболее часто. В принципе, мод может быть несколько. Мы, однако, ограничимся случаями, когда мода определяется однозначно. Напишите программу, которая находит медиану и моду набора...
Python Средние в статистике
Если у вас имеется набор значений (удойность коров в разных губерниях, или количество строк кода, написанных программистом в разные дни, или температура у разных пациентов в отделении больницы, или оценки, полученные учеником в течение четверти, или зарплаты у разных сотрудников компании), то часто возникает необходимость выяснить наиболее типичное значение. Делать это можно по-разному.
5158 / 2770 / 465
Регистрация: 05.10.2013
Сообщений: 7,321
Записей в блоге: 147
10.01.2019, 20:12 0

Карта сокровищ - Python - Ответ 13230333

10.01.2019, 20:12. Показов 24517. Ответов 11
Метки (Все метки)

Ответ

When I start solve these tasks I write a unit test, like this:

test_treasure.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import unittest
 
class TestTreasure(unittest.TestCase):
 
    def test_one_treasure(self):
        # Arrange
        treasure = Treasure()
        input = [(15, 16)]
        expectedAmount = 1
 
        # Act
        actualAmount = treasure.GetAmount(input)
 
        # Assert
        self.assertEqual(expectedAmount, actualAmount)
I run it using command:

python -m unittest
I see the error message in the terminal:

treasure = Treasure()
NameError: name 'Treasure' is not defined
I define the Treasure class:

treasure.py

Python
1
2
3
class Treasure:
    def GetAmount(self, input):
        return -1
And import it to test_treasure.py

Python
1
2
3
import unittest
 
from treasure import Treasure
Run test:
python -m unittest
I see:

Python
1
2
    self.assertEqual(expectedAmount, actualAmount)
AssertionError: 1 != -1
I start to implement a logic to make my first test pass. If you want you can to write the logic and add second test.

Добавлено через 15 минут
You can make the test pass like this:

treasure.py

Python
1
2
3
4
5
class Treasure:
    def GetAmount(self, input):
        if len(input) == 1:
            return 1
        return -1
I run test and see that test is pass:
> python -m unittest
.
----------------------------------------------------------------------
Ran 1 test in 0.001s

OK
Add the second test with two treasures. Expected amount is equal to 2 in the second test:

test_treasure.py:

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
import unittest
 
from treasure import Treasure
 
class TestTreasure(unittest.TestCase):
 
    def test_one_treasure(self):
        # Arrange
        treasure = Treasure()
        input = [(15, 16)]
        expectedAmount = 1
 
        # Act
        actualAmount = treasure.GetAmount(input)
 
        # Assert
        self.assertEqual(expectedAmount, actualAmount)
 
    def test_two_treasures(self):
        # Arrange
        treasure = Treasure()
        input = [(15, 16), (16, 18)]
        expectedAmount = 2
 
        # Act
        actualAmount = treasure.GetAmount(input)
 
        # Assert
        self.assertEqual(expectedAmount, actualAmount)
Run tests:

python -m unittest
See the result:

Python
1
2
3
test_treasure.py", line 29, in test_two_treasures
    self.assertEqual(expectedAmount, actualAmount)
AssertionError: 2 != -1
We need to pass test again. This is a process of TDD (Test-Driven Development)

Вернуться к обсуждению:
Карта сокровищ Python
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2019, 20:12
Готовые ответы и решения:

Карта сокровищ
На пиратской карте отмечено N точек, в которых зарыты сокровища. Каждая точка задана координатами...

Карта сокровищ, которая не работает
На пиратской карте отмечено N точек, в которых зарыты сокровища. Каждая точка задана координатами...

Оптимизация кода для задания "Карта сокровищ"
Всем привет. Ребята, помогите, пожалуйста. Начал изучать python недавно, так что опыта пока в нём...

Карта сокровищ, которая не работает
На пиратской карте отмечено N точек, в которых зарыты сокровища. Каждая точка задана координатами...

Поиск сокровищ
Программу надо сделать с input.txt/output.txt.! Капитан Флинт зарыл клад на Острове сокровищ. Он...

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

Сбор сокровищ
Через две недели защита курсовой. У меня игра, сбор сокровищ. Хочу в три уровня. На клик мыши...

Остров сокровищ!!!
Здравствуйте, уважаемые обитатели форума!!!) У меня к вам огромнейшая просьба..помогите...

Остров сокровищ
Капитан Флинт зарыл клад на Острове сокровищ. Есть описание, как найти клад. Описание состоит из...

Пещера сокровищ
Для того чтобы открыть тайную дверь для выхода из пещеры с сокровищами нужно выбрать 4 монеты...

Требуется сотрудник для поиска виртуальных сокровищ
Срочно требуется сотрудник для поиска виртуальных сокровищ - это уже не фантастика К 2026 году...

Знаменитый пират Джек Воробей опять в поисках сокровищ
Знаменитый пират Джек Воробей опять в поисках сокровищ. На этот раз ему попалась в руки карта, где...

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