Решение на Ретроспекция от Димитър Петров

Обратно към всички решения

Към профила на Димитър Петров

Резултати

  • 0 точки от тестове
  • 3 бонус точки
  • 3 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

REPOSITORY = 'https://github.com/dvp-petrov/python-retrospective'
#Неща, които научих:
#
#1. Хороскоп: list comprehension са бърз и лесен начин за
#избягване на for-if конструкция.
#
#2. Хороскоп: list comprehension връща списък, отговарящ на дадени
#условия. Т.е. ако искаме да върнем точно един елемент от този
#списък, можем след края на списъка да напишем индекса на
#въпросния елемент(не е нужно да присвояваме list comprehension
#на отделна променлива)- пример:
#Не: y = [x for x in xx if x]; return y[0]
#А можем директно: return [x for x in xx if x][0]
#
#
#3. groupby: изясних си функционалността на defaultdict.
#
#4. iterate: употреба на lambda функции с цел скъсяване на кода.
#
#5. zip_with: изясних си функционалността на zip.
#
#(3, 4, 5). Task-2 Overall: разбрах същността на итеруеми обекти
#и работата на yield.
#
#
#6.0. *Забележка: Person: смятам, че изпозлването на list
#comprehensions и lists е удобен начин за обхождането на
#структури, в които имаме множество обекти със сложни връзки
#между тях.
#
#
#7. TicTacToeBoard: направих обща проверка за намиране на
#победител(което би било полезно в случей, че има повече на
#брой възможни победители). Дефинирах нова променлива в
#__init__ функцията - 'previous_turn', която ми спести няколко
#проверки при exception NotYourTurn.
#
#TicTacToeBoard(overall): научих функционалността на __str__,
#__repr__, __setitem__ и как да дефинирам мои собствени
#изключения.
#
#---------------------------------------------------------------
#Научих, че писането на адекватни unittests улеснява и подпомага
#процеса на програмиране(кодене).
#
#Научих, че Python е елегантен език и е добре да се възпозлваме
#от възможностите, които ни предоставя, за да пишем кратък и
#четим/разбираем код.
#

История (3 версии и 1 коментар)

Димитър обнови решението на 20.04.2013 12:49 (преди над 11 години)

+
+
+#Неща, които научих:
+#
+#1. Хороскоп: речник(dict) може да приема като ключ(key) hashable
+#type данни, включително tuple. Т.е. практически можем да създадем
+#речници с двойни ключове. (В определени случаи, това би било
+#доста полезно; не го изпозлвам в решението на задачата.)
+#
+#2. Хороскоп: list comprehension са бърз и лесен начин за
+#избягване на for-if конструкция.
+#
+#3. Хороскоп: list comprehension връща списък, отговарящ на дадени
+#условия. Т.е. ако искаме да върнем точно един елемент от този
+#списък, можем след края на списъка да напишем индекса на
+#въпросния елемент(не е нужно да присвояваме list comprehension #на отделна променлива)- пример:
+#Не: y = [x for x in xx if x]; return y[0]
+#А можем директно: return [x for x in xx if x][0]
+#

Димитър обнови решението на 28.04.2013 19:53 (преди над 11 години)

+REPOSITORY = 'https://github.com/dvp-petrov/python-retrospective'
-
#Неща, които научих:
#
-#1. Хороскоп: речник(dict) може да приема като ключ(key) hashable
-#type данни, включително tuple. Т.е. практически можем да създадем
-#речници с двойни ключове. (В определени случаи, това би било
-#доста полезно; не го изпозлвам в решението на задачата.)
-#
-#2. Хороскоп: list comprehension са бърз и лесен начин за
+#1. Хороскоп: list comprehension са бърз и лесен начин за
#избягване на for-if конструкция.
#
-#3. Хороскоп: list comprehension връща списък, отговарящ на дадени
+#2. Хороскоп: list comprehension връща списък, отговарящ на дадени
#условия. Т.е. ако искаме да върнем точно един елемент от този
-#списък, можем след края на списъка да напишем индекса на
-#въпросния елемент(не е нужно да присвояваме list comprehension #на отделна променлива)- пример:
+#списък, можем след края на списъка да напишем индекса на
+#въпросния елемент(не е нужно да присвояваме list comprehension
+#на отделна променлива)- пример:
#Не: y = [x for x in xx if x]; return y[0]
#А можем директно: return [x for x in xx if x][0]
+#
+#
+#3. groupby: изясних си функционалността на defaultdict.
+#
+#4. iterate: употреба на lambda функции с цел скъсяване на кода.
+#
+#5. zip_with: изясних си функционалността на zip.
+#
+#(3, 4, 5). Task-2 Overall: разбрах същността на итеруеми обекти
+#и работата на yield.
+#
+#
+#6.0. *Забележка: Person: смятам, че изпозлването на list
+#comprehensions и lists е удобен начин за обхождането на
+#структури, в които имаме множество обекти със сложни връзки
+#между тях.
+#
+#
+#7. TicTacToeBoard: направих обща проверка за намиране на
+#победител(което би било полезно в случей, че има повече на
+#брой възможни победители). Дефенирах нова променлива в
+#__init__ функцията - 'previous_turn', която ми спести няколко
+#проверки при exception NotYourTurn.
+#
+#TicTacToeBoard(overall): научих функционалността на __str__,
+#__repr__, __setitem__ и как да правя мои собствени изключения.
+#
+#---------------------------------------------------------------
+#Научих, че писането на адекватни unittests улеснява и подмомага
+#процеса на програмиране(кодене).
+#
+#Научих, че Python е елегантен език и е добре да се възпозлваме
+#от възможностите, които ни предоставя, за да пишем кратък и
+#четим/разбираем код.
#

Димитър обнови решението на 28.04.2013 19:58 (преди над 11 години)

REPOSITORY = 'https://github.com/dvp-petrov/python-retrospective'
#Неща, които научих:
#
#1. Хороскоп: list comprehension са бърз и лесен начин за
#избягване на for-if конструкция.
#
#2. Хороскоп: list comprehension връща списък, отговарящ на дадени
#условия. Т.е. ако искаме да върнем точно един елемент от този
#списък, можем след края на списъка да напишем индекса на
#въпросния елемент(не е нужно да присвояваме list comprehension
#на отделна променлива)- пример:
#Не: y = [x for x in xx if x]; return y[0]
#А можем директно: return [x for x in xx if x][0]
#
#
#3. groupby: изясних си функционалността на defaultdict.
#
#4. iterate: употреба на lambda функции с цел скъсяване на кода.
#
#5. zip_with: изясних си функционалността на zip.
#
#(3, 4, 5). Task-2 Overall: разбрах същността на итеруеми обекти
#и работата на yield.
#
#
#6.0. *Забележка: Person: смятам, че изпозлването на list
#comprehensions и lists е удобен начин за обхождането на
#структури, в които имаме множество обекти със сложни връзки
#между тях.
#
#
#7. TicTacToeBoard: направих обща проверка за намиране на
#победител(което би било полезно в случей, че има повече на
-#брой възможни победители). Дефенирах нова променлива в
+#брой възможни победители). Дефинирах нова променлива в
#__init__ функцията - 'previous_turn', която ми спести няколко
#проверки при exception NotYourTurn.
#
#TicTacToeBoard(overall): научих функционалността на __str__,
-#__repr__, __setitem__ и как да правя мои собствени изключения.
+#__repr__, __setitem__ и как да дефинирам мои собствени
+#изключения.
#
#---------------------------------------------------------------
-#Научих, че писането на адекватни unittests улеснява и подмомага
+#Научих, че писането на адекватни unittests улеснява и подпомага
#процеса на програмиране(кодене).
#
#Научих, че Python е елегантен език и е добре да се възпозлваме
#от възможностите, които ни предоставя, за да пишем кратък и
#четим/разбираем код.
#