1def invert(item):
2 if not isinstance(item, bool) and isinstance(item, int):
3 return item*(-1)
4 if isinstance(item, float):
5 return item*(-1)
6 if isinstance(item, bool):
7 return not item
8 if isinstance(item, str):
9 return item[::-1]
10 return None
11
12def no_it_isnt(items):
13 result = []
14 for item in items:
15 result.insert(0,invert(item))
16 return result
.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s
OK
Георги Кунчев
19.10.2023 09:08Опират се да подскажа, но уви, неуспешно. Освен `append` имаш и `prepend` ;)
|
Димитър Христов
19.10.2023 01:24.insert() ползвам вместо append() за да не го reversвам после.
|
Георги Кунчев
18.10.2023 20:26Това е така, защото `isinstance` проверява всички наследници по дървото. В Python `bool` наследява `int`. Защо? -> https://peps.python.org/pep-0285/
Ако използваш `type(True)` виждаш конкретният тип и няма да има объркване.
|
Димитър Христов
18.10.2023 19:27Мразя фактa, че isinstance(True, int) връща True.
|
18.10.2023 20:27
18.10.2023 20:27