Решение на doge от Йосиф Цветков

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

Към профила на Йосиф Цветков

Резултати

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

Код

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

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

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

OK

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

Йосиф обнови решението на 06.03.2014 14:30 (преди над 10 години)

+def wow_such_much(start, end):
+ result = []
+ for i in range(start, end):
+ if (i % 15) == 0 :
+ result.append('suchmuch')
+ elif (i % 5) == 0 :
+ result.append('much')
+ elif (i % 3) == 0 :
+ result.append('such')
+ else :
+ result.append(str(i))
+ return result
+
+def count_doge_words(string):
+ parasites = {"wow", "lol", "so", "such", "much", "very"}
+ words = string.split(" ")
+ count = 0
+ for i in words:
+ if i in parasites:
+ count = count + 1
+ return count

Йосиф обнови решението на 06.03.2014 22:58 (преди над 10 години)

def wow_such_much(start, end):
result = []
for i in range(start, end):
- if (i % 15) == 0 :
+ if (i % 15) == 0:
result.append('suchmuch')
- elif (i % 5) == 0 :
+ elif (i % 5) == 0:
result.append('much')
- elif (i % 3) == 0 :
+ elif (i % 3) == 0:
result.append('such')
- else :
+ else:
result.append(str(i))
return result
+
def count_doge_words(string):
parasites = {"wow", "lol", "so", "such", "much", "very"}
- words = string.split(" ")
+ words = string.split()
count = 0
for i in words:
if i in parasites:
- count = count + 1
- return count
+ count += 1
+ return count

Йосиф обнови решението на 08.03.2014 01:51 (преди над 10 години)

def wow_such_much(start, end):
result = []
for i in range(start, end):
if (i % 15) == 0:
result.append('suchmuch')
elif (i % 5) == 0:
result.append('much')
elif (i % 3) == 0:
result.append('such')
else:
result.append(str(i))
return result
def count_doge_words(string):
parasites = {"wow", "lol", "so", "such", "much", "very"}
words = string.split()
- count = 0
- for i in words:
+ return len([word for word in words if word in parasites])
- if i in parasites:
- count += 1
- return count

Лош стил на писане ли би било ако във функцията count_doge_words, не използвам двете променливи parasites и words, а директно ги заместя в списъка и така да получа израз на един ред ? Т.е. добре ли е да се напише:

def count_doge_words(string):

return len([word for word in string.split() if word in {"wow", "lol", "so", "such", "much", "very"}])

И още нещо - проблем ли е че ползвам неща които все още не са преподадени ?

Благодаря предварително.

Йосиф обнови решението на 08.03.2014 21:10 (преди над 10 години)

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

Йосиф обнови решението на 11.03.2014 15:48 (преди над 10 години)

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

Йосиф обнови решението на 12.03.2014 00:36 (преди над 10 години)

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