Решение на doge от Димитър Златев

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

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

Резултати

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

Код

import re
def wow_such_much(start, end):
meme = []
for i in range(start, end):
if i % 3 == 0 and i % 5 == 0:
meme.append('suchmuch')
else:
if i % 5 == 0:
meme.append('much')
elif i % 3 == 0:
meme.append('such')
else:
meme.append(str(i))
return meme
def count_doge_words(sentence):
doge_words = ["wow", "lol", "so", "such", "much", "very"]
word_list = re.findall(r'\b[.\w+]+\b', sentence.lower())
counter = 0
for doge in doge_words:
counter = counter + (word_list.count(doge))
return counter

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

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

OK

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

Димитър обнови решението на 06.03.2014 14:50 (преди почти 11 години)

+import re
+def wow_such_much (start,end):
+ meme = []
+ for i in range(start, end):
+ if i%3==0:
+ if i%5==0:
+ meme.append('suchmuch')
+ else:
+ meme.append('such')
+ elif i%5==0:
+ meme.append('much')
+ else:
+ meme.append(str(i))
+ return meme
+
+
+def count_doge_words(sentence):
+ doge_words=["wow","lol","so","such","much","very"]
+ word_list=re.findall(r'\b[.\w+]+\b',sentence.lower())
+ counter=0
+ for doge in doge_words:
+ counter=counter + (word_list.count(doge))
+ return counter

Димитър обнови решението на 06.03.2014 15:26 (преди почти 11 години)

import re
-def wow_such_much (start,end):
+
+
+def wow_such_much(start, end):
meme = []
for i in range(start, end):
- if i%3==0:
- if i%5==0:
+ if i % 3 == 0:
+ if i % 5 == 0:
meme.append('suchmuch')
else:
meme.append('such')
- elif i%5==0:
+ elif i % 5 == 0:
meme.append('much')
else:
meme.append(str(i))
return meme
def count_doge_words(sentence):
- doge_words=["wow","lol","so","such","much","very"]
- word_list=re.findall(r'\b[.\w+]+\b',sentence.lower())
- counter=0
+ doge_words = ["wow", "lol", "so", "such", "much", "very"]
+ word_list = re.findall(r'\b[.\w+]+\b', sentence.lower())
+ counter = 0
for doge in doge_words:
- counter=counter + (word_list.count(doge))
+ counter = counter + (word_list.count(doge))
return counter

Димитър обнови решението на 09.03.2014 13:10 (преди почти 11 години)

import re
def wow_such_much(start, end):
meme = []
for i in range(start, end):
- if i % 3 == 0:
+ if i % 3 == 0 and i % 5 == 0:
+ meme.append('suchmuch')
+ else:
if i % 5 == 0:
- meme.append('suchmuch')
- else:
+ meme.append('much')
+ elif i % 3 == 0:
meme.append('such')
- elif i % 5 == 0:
- meme.append('much')
- else:
- meme.append(str(i))
+ else:
+ meme.append(str(i))
return meme
def count_doge_words(sentence):
doge_words = ["wow", "lol", "so", "such", "much", "very"]
word_list = re.findall(r'\b[.\w+]+\b', sentence.lower())
counter = 0
for doge in doge_words:
counter = counter + (word_list.count(doge))
return counter

Преподредих if стейтмънтите. Реално са същия брой, но е по - читаемо (поне според мен). Реално задачата може да се направи с conditional expression на един ред, но доколкото аз разбрах от лекцията идеята на домашното е да се реализира със средствата упоменати на лекцията?