1import types
2import unittest
3
4from solution import *
5
6
7class TestMethodify(unittest.TestCase):
8 """Test metodify function."""
9
10 def test_metodify(self):
11 """Test metodify function."""
12 self.assertIsInstance(methodify, types.FunctionType)
13
14
15if __name__ == '__main__':
16 unittest.main()
1import unittest
2
3from secret import _RESULTS
4from solution import *
5
6
7class TestMethodify(unittest.TestCase):
8 """Test metodify function."""
9
10 def test_metodify(self):
11 """Test metodify function."""
12 self.assertIn(methodify(), _RESULTS.keys())
13
14
15try:
16 result = _RESULTS[methodify()]
17 print("Резултат от контролното:\n"
18 f" {result['correct']}/30 верни отговора.\n"
19 f" {result['points']} точки.")
20except:
21 pass # No correct answer means no results
22
23if __name__ == '__main__':
24 unittest.main()
Данаил Тодоров
19.11.2023 13:37Функцията _F води ли се интересна или не трябва да проверяваме за _ и __ пред методи и атрибути
|
Георги Кунчев
19.11.2023 13:36@Мирослав, относно "Как да проверим дали "Извикване на метода с един позиционен аргумент от тип int връща подадения...".
Няма да правим функция, която изглежда като интересна но за конкретна стойност не е. Ако подадеш някакво случайно число и се вдигне на квадрат, значи това е.
|
Георги Кунчев
19.11.2023 13:30`TypeError` наследява `BaseException`, но не е чист `BaseException`. Тук говорим за възбуждане на конкретно изключение, а не изключение, което го наследява.
|
Мирослав Стояновски
19.11.2023 12:46-Извикване на метода възбужда TypeError с текст "Опаааааа, тука има нещо нередно.";
-Извикване на метода възбужда BaseException с произволен текст;
Тук ако второто условие е достатъчно за да бъде една функция интересна, тогава първото условие не е ли излишно, тъй като TypeError e вид BaseException, и тъй като "Опаааааа, тука има нещо нередно." е произволен текст ?
|
|
Михаил Цанков
19.11.2023 11:58Понеже факултетните ни номера имат много еднакви цифри (нули) за всяка една от тях трябва да открием различен интересен метод или търсим само един и го слагаме навсякъде в tuple?
|
Мирослав Стояновски
19.11.2023 11:37Как да проверим дали "Извикване на метода с един позиционен аргумент от тип int връща подадения аргумент на квадрат, ако той е четно число, но нула, ако той е нечетно число;" работи за всяко х? Възможно е функцията да работи коректно за всяко х освен 4838*10^63728, а пък за тази стойност да прави нещо напълно различно. Тогава по дефиниция функцията не би трябвало да бъде интересна. Как да се справим с този проблем без да вършим тежки изчисления за проверка стойността на функцията за много стойности на х?
|
Михаил Цанков
19.11.2023 11:08'Извикване на метода с един позиционен аргумент от тип int' това значи ли, че презаписваме self (```fun(self)```) или сигнатурата на функцията е ```fun(self, num)```?
|
Георги Кунчев
18.11.2023 21:11Уверявам, че ще съществува такъв `tuple`. Методи има за всички.
А `secret.A` е интересен случай. За конкретната задача няма такъв, но по принцип не мисля, че е проблем, дори да има. Просто би било гадно от наша страна да закачим метод директно на модула, като обект, който сте импортирали. Приеми, че не е валиден случай и не се очаква.
|
Даниел Йорданов
18.11.2023 20:43Път във формат secret.A, отговаря ли на изискванията или трябва да има поне едно clue?
|