Решение на doge от Момчил Станчев

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

Към профила на Момчил Станчев

Резултати

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

Код

def wow_such_much(start, end):
output = []
for num in range(start, end):
word = ""
if num % 3 == 0:
word += "such"
if num % 5 == 0:
word += "much"
if word == "":
output.append(str(num))
else:
output.append(word)
return output
def count_doge_words(sentence):
doge_words = [' wow ', ' lol ', ' so ', ' such ', ' much ', ' very ']
formated_sentence = " " + sentence.lower() + " "
return sum([formated_sentence.count(word) for word in doge_words])

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

...............
----------------------------------------------------------------------
Ran 15 tests in 0.008s

OK

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

Момчил обнови решението на 08.03.2014 15:33 (преди над 10 години)

+def wow_such_much(start, end):
+ out_list = []
+ for num in range(start, end):
+ word = ""
+ if num % 3 == 0:
+ word += "such"
+ if num % 5 == 0:
+ word += "much"
+
+ if word == "":
+ out_list.append(str(num))
+ else:
+ out_list.append(word)
+ return out_list
+
+
+
+def count_doge_words(sentence):
+ doge_words = ['wow', 'lol', 'so', 'such', 'much', 'very']
+ return len([word for word in doge_words if word in sentence])

Момчил обнови решението на 08.03.2014 15:35 (преди над 10 години)

def wow_such_much(start, end):
out_list = []
for num in range(start, end):
word = ""
if num % 3 == 0:
word += "such"
if num % 5 == 0:
word += "much"
if word == "":
out_list.append(str(num))
else:
out_list.append(word)
return out_list
def count_doge_words(sentence):
doge_words = ['wow', 'lol', 'so', 'such', 'much', 'very']
- return len([word for word in doge_words if word in sentence])
+ return len([word for word in doge_words if word in sentence.lower()])

Момчил обнови решението на 08.03.2014 15:49 (преди над 10 години)

def wow_such_much(start, end):
out_list = []
for num in range(start, end):
word = ""
if num % 3 == 0:
word += "such"
if num % 5 == 0:
word += "much"
if word == "":
out_list.append(str(num))
else:
out_list.append(word)
return out_list
def count_doge_words(sentence):
- doge_words = ['wow', 'lol', 'so', 'such', 'much', 'very']
- return len([word for word in doge_words if word in sentence.lower()])
+ doge_words = [' wow ', ' lol ', ' so ', ' such ', ' much ', ' very ']
+ formated_sentence = " " + sentence.lower() + " "
+
+ return sum([formated_sentence.count(word) for word in doge_words])

Здравей, защото в списъка ми doge_words всяка от думите е с интервал отпред и отзад и ако входния стринг започва примерно с "wow ...." и няма спейс в началото " wow " in sentence връша False. По същата причина добавям и спейс в края. Предполагам, че може би има по-добър начин да се реши този въпрос, но за момента това са знанията ми :)

Момчил обнови решението на 12.03.2014 16:45 (преди над 10 години)

def wow_such_much(start, end):
- out_list = []
+ output = []
for num in range(start, end):
word = ""
if num % 3 == 0:
word += "such"
if num % 5 == 0:
word += "much"
if word == "":
- out_list.append(str(num))
+ output.append(str(num))
else:
- out_list.append(word)
- return out_list
+ output.append(word)
+ return output
def count_doge_words(sentence):
doge_words = [' wow ', ' lol ', ' so ', ' such ', ' much ', ' very ']
formated_sentence = " " + sentence.lower() + " "
return sum([formated_sentence.count(word) for word in doge_words])