Предизвикателства > Полиморфичен негативизъм > Решения > Решението на Илиян Георгиев

Резултати
1 точки от тестове
0 точки от учител

1 точки общо

5 успешни теста
0 неуспешни теста
Код

 1def no_it_isnt(arguments: list):
 2    '''Reverse and replace arguments with their counters'''
 3    result = []
 4    for item in arguments[::-1]:
 5        if isinstance(item, bool):
 6            result.append(not(item))
 7        elif isinstance(item, int) or isinstance(item, float):
 8            result.append(-item)
 9        elif isinstance(item, str):
10            result.append(item[::-1])
11        else:
12            print(f"Cannot handle {type(item)} type for {item}")
13
14    return result
15
16print(no_it_isnt([1, -3.14, True, 'abc', 0, (1, 2)]))  
17
18#   Cannot handle <class 'tuple'> type for (1, 2)
19#   [0, 'cba', False, 3.14, -1]

Cannot handle <class 'tuple'> type for (1, 2)
[0, 'cba', False, 3.14, -1]
.....
----------------------------------------------------------------------
Ran 5 tests in 0.000s

OK

Дискусия
История

f1def no_it_isnt(arguments: list):f1def no_it_isnt(arguments: list):
n2    '''Do work'''n2    '''Reverse and replace arguments with their counters'''
3    result = []3    result = []
4    for item in arguments[::-1]:4    for item in arguments[::-1]:
n5        if (isinstance(item, bool)):n5        if isinstance(item, bool):
6            result.append(not(item))6            result.append(not(item))
n7        elif (isinstance(item, int) or isinstance(item, float)):n7        elif isinstance(item, int) or isinstance(item, float):
8            result.append(-item)8            result.append(-item)
n9        elif (isinstance(item, str)):n9        elif isinstance(item, str):
10            result.append(item[::-1])10            result.append(item[::-1])
11        else:11        else:
12            print(f"Cannot handle {type(item)} type for {item}")12            print(f"Cannot handle {type(item)} type for {item}")
1313
14    return result14    return result
1515
t16print(no_it_isnt([1, -3.14, True, 'abc', 0, (1, 2)]))  t16print(no_it_isnt([1, -3.14, True, 'abc', 0, (1, 2)]))  
1717
18#   Cannot handle <class 'tuple'> type for (1, 2)18#   Cannot handle <class 'tuple'> type for (1, 2)
19#   [0, 'cba', False, 3.14, -1]19#   [0, 'cba', False, 3.14, -1]
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1def no_it_isnt(arguments: list):f1def no_it_isnt(arguments: list):
nn2    '''Do work'''
2    result = []3    result = []
3    for item in arguments[::-1]:4    for item in arguments[::-1]:
4        if (isinstance(item, bool)):5        if (isinstance(item, bool)):
5            result.append(not(item))6            result.append(not(item))
6        elif (isinstance(item, int) or isinstance(item, float)):7        elif (isinstance(item, int) or isinstance(item, float)):
7            result.append(-item)8            result.append(-item)
8        elif (isinstance(item, str)):9        elif (isinstance(item, str)):
9            result.append(item[::-1])10            result.append(item[::-1])
10        else:11        else:
11            print(f"Cannot handle {type(item)} type for {item}")12            print(f"Cannot handle {type(item)} type for {item}")
1213
13    return result14    return result
1415
t15print(no_it_isnt([1, -3.14, True, 'abc', 0, (1, 2)]))t16print(no_it_isnt([1, -3.14, True, 'abc', 0, (1, 2)]))  
17 
18#   Cannot handle <class 'tuple'> type for (1, 2)
19#   [0, 'cba', False, 3.14, -1]
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op