Решение на doge от Моника Илиева

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

Към профила на Моника Илиева

Резултати

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

Код

def wow_such_much(start, end):
wow_such_much = []
for number in range(start, end):
if number % 15 == 0:
wow_such_much.append("suchmuch")
elif number % 5 == 0:
wow_such_much.append("much")
elif number % 3 == 0:
wow_such_much.append("such")
else:
wow_such_much.append(str(number))
return wow_such_much
DOGE_WORDS = [
"wow", "such", "much",
"very", "so", "lol",
]
def count_doge_words(string):
return len([word for word in string.split() if word in DOGE_WORDS])

Лог от изпълнението

...............
----------------------------------------------------------------------
Ran 15 tests in 0.007s

OK

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

Моника обнови решението на 09.03.2014 19:26 (преди над 10 години)

+def wow_such_much(start, end):
+ arr = []
+ for number in range(start, end):
+ if number % 15 == 0:
+ arr.append("suchmuch")
+ elif number % 3 == 0:
+ arr.append("such")
+ elif number % 5 == 0:
+ arr.append("much")
+ else:
+ arr.append(str(number))
+ return arr
+
+#-------------------------------------------------------
+
+doge_words = ["wow", "such", "much", "very", "so", "lol"]
+
+
+def count_doge_words(string):
+ counter = 0
+ str = ' '.join(words for words in string.split())
+ arr_with_doge_words = [word for word in str.split() if word in doge_words]
+ while arr_with_doge_words != []:
+ arr_with_doge_words.pop()
+ counter += 1
+ return counter

Основно забележките ми са относно именуване, иначе решенията ти са добри.

  • arr не е хубаво име, опитай се да измислиш нещо, което описва по-добре какво съдържа този списък - знам, че е трудно :smiley:
  • опитвай се да не оставяш коментари в кода, който предаваш
  • това не е споменавано, но според конвенцията(PEP8) константите се именуват в SCREAMING_SNAKE_CASE
  • опитай се да оправиш имената на променливите и в count_doge_words
  • str можеш да видиш, че я оцветява по различен начин, защото има вече такава функция и не е добра идея да си дефинираш своя с това име; също така str не ми говори по никакъв начин за самата променлива, а просто ми казва, че типът и ще е стринг
  • arr_with_doge_words - няма смисъл да уточняваш типа на променливата в нейното име - в Python не се интересуваме от типивете както в C++

Моника обнови решението на 09.03.2014 22:21 (преди над 10 години)

def wow_such_much(start, end):
arr = []
for number in range(start, end):
if number % 15 == 0:
arr.append("suchmuch")
elif number % 3 == 0:
arr.append("such")
elif number % 5 == 0:
arr.append("much")
else:
arr.append(str(number))
return arr
-#-------------------------------------------------------
-doge_words = ["wow", "such", "much", "very", "so", "lol"]
+DOGE_WORDS = [
+ "wow", "such", "much",
+ "very", "so", "lol",
+]
def count_doge_words(string):
- counter = 0
- str = ' '.join(words for words in string.split())
+ return len([word for word in string.split() if word in DOGE_WORDS])
- arr_with_doge_words = [word for word in str.split() if word in doge_words]
- while arr_with_doge_words != []:
- arr_with_doge_words.pop()
- counter += 1
- return counter

Моника обнови решението на 09.03.2014 22:29 (преди над 10 години)

def wow_such_much(start, end):
- arr = []
+ wow_such_much = []
for number in range(start, end):
if number % 15 == 0:
- arr.append("suchmuch")
- elif number % 3 == 0:
- arr.append("such")
+ wow_such_much.append("suchmuch")
elif number % 5 == 0:
- arr.append("much")
+ wow_such_much.append("much")
+ elif number % 3 == 0:
+ wow_such_much.append("such")
else:
- arr.append(str(number))
- return arr
+ wow_such_much.append(str(number))
+ return wow_such_much
DOGE_WORDS = [
"wow", "such", "much",
"very", "so", "lol",
]
def count_doge_words(string):
- return len([word for word in string.split() if word in DOGE_WORDS])
+ return len([word for word in string.split() if word in DOGE_WORDS])

Моника обнови решението на 09.03.2014 22:34 (преди над 10 години)

def wow_such_much(start, end):
wow_such_much = []
for number in range(start, end):
if number % 15 == 0:
wow_such_much.append("suchmuch")
elif number % 5 == 0:
wow_such_much.append("much")
elif number % 3 == 0:
wow_such_much.append("such")
else:
wow_such_much.append(str(number))
return wow_such_much
DOGE_WORDS = [
"wow", "such", "much",
"very", "so", "lol",
]
def count_doge_words(string):
- return len([word for word in string.split() if word in DOGE_WORDS])
+ return len([word for word in string.split() if word in DOGE_WORDS])