1def no_it_isnt(elements):
2 result = []
3 for item in elements:
4 if type(item) in (int, float):
5 result.append(-item)
6 elif type(item) == bool:
7 result.append(not item)
8 elif type(item) == str:
9 result.append(item[::-1])
10 return list(reversed(result))
.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s
OK
Мирослав Стояновски
18.10.2023 23:12Тва вече е финалното решение :)
|
Мирослав Стояновски
18.10.2023 23:11НЕ ГО ГЛЕДАЙТЕ ТВА, ФАЙЛЪТ НЕ СЕ СЕЙВНА
|
Георги Кунчев
18.10.2023 13:00Got it. Да прав си. Не забелязах, че променяш елементите в оригиналния списък. НОО, както и вчера говорихме, това е "страничен ефект" и трябва да се избягва на всяка цена. Не искаш да променяш списъка, който влиза. Искаш да напрвиш нов, който да върнеш.
|
Мирослав Стояновски
18.10.2023 12:27Ако ползвам for item in elements вместо for цикъла с индексацията, след изпълнението на функцията елементите на листа остават непроменени, затова реших да ползвам цикъл с индекси.
|
n | 1 | n | |||
2 | |||||
3 | def no_it_isnt(elements): | 1 | def no_it_isnt(elements): | ||
4 | result = [] | 2 | result = [] | ||
5 | for item in elements: | 3 | for item in elements: | ||
6 | if type(item) in (int, float): | 4 | if type(item) in (int, float): | ||
7 | result.append(-item) | 5 | result.append(-item) | ||
8 | elif type(item) == bool: | 6 | elif type(item) == bool: | ||
9 | result.append(not item) | 7 | result.append(not item) | ||
10 | elif type(item) == str: | 8 | elif type(item) == str: | ||
11 | result.append(item[::-1]) | 9 | result.append(item[::-1]) | ||
12 | return list(reversed(result)) | 10 | return list(reversed(result)) | ||
t | 13 | t | |||
14 | print(no_it_isnt([123,'abc',True])) | ||||
15 | |||||
16 | #1 1 1 5 5 5 7 7 9 9 | ||||
17 | #1 8 |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|
n | n | 1 | |||
2 | |||||
1 | def no_it_isnt(elements): | 3 | def no_it_isnt(elements): | ||
n | 2 | for i in range(len(elements)): | n | 4 | result = [] |
3 | if (type(elements[i]) == int or type(elements[i]) == float): | 5 | for item in elements: | ||
4 | elements[i] = - elements[i] | 6 | if type(item) in (int, float): | ||
7 | result.append(-item) | ||||
5 | if (type(elements[i]) == bool): | 8 | elif type(item) == bool: | ||
6 | elements[i] = not elements[i] | 9 | result.append(not item) | ||
7 | elif (type(elements[i]) == str): | 10 | elif type(item) == str: | ||
8 | elements[i]=elements[i][::-1] | 11 | result.append(item[::-1]) | ||
9 | return list(reversed(elements)) | 12 | return list(reversed(result)) | ||
10 | 13 | ||||
11 | print(no_it_isnt([123,'abc',True])) | 14 | print(no_it_isnt([123,'abc',True])) | ||
t | t | 15 | |||
16 | #1 1 1 5 5 5 7 7 9 9 | ||||
17 | #1 8 |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|