Решение на doge от Михаил Панайотов

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

Към профила на Михаил Панайотов

Резултати

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

Код

def wow_such_much(start, end):
doge_sequence = []
for i in range(start, end):
if not (i % 3 or i % 5):
doge_sequence.append('suchmuch')
elif not i % 3:
doge_sequence.append('such')
elif not i % 5:
doge_sequence.append('much')
else:
doge_sequence.append(str(i))
return doge_sequence
def count_doge_words(sentence):
doge_words = ['wow', 'lol', 'so', 'such', 'much', 'very',]
words = sentence.split()
doge_counter = 0
for word in words:
if word in doge_words:
doge_counter+=1
return doge_counter

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

...............
----------------------------------------------------------------------
Ran 15 tests in 0.010s

OK

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

Михаил обнови решението на 06.03.2014 23:28 (преди над 10 години)

+def wow_such_much(start, end):
+ list = []
+ for i in range(start, end):
+ if not (i % 3 or i % 5):
+ list.append('suchmuch')
+ elif not i % 3:
+ list.append('such')
+ elif not i % 5:
+ list.append('much')
+ else:
+ list.append(str(i))
+ return list
+
+def count_doge_words(sentence):
+ dodgeWords = ['wow', 'lol', 'so', 'such', 'much', 'very',]
+ words = sentence.split(' ')
+ dodgeCounter = 0
+ for word in words:
+ if word in dodgeWords:
+ dodgeCounter+=1
+ return dodgeCounter
  • list е запазена дума в Python и не е хубаво да я използваш като име на променлива
  • Прочети конвенцията за именоване на променливи в Python
  • Логиката ти в условията е малко наопаки и са по-трудни за четене, но все пак върши работа
  • Не е нужно да подаваш нищо на split, защото по подразбиране се разделя по интервал

Михаил обнови решението на 07.03.2014 17:39 (преди над 10 години)

def wow_such_much(start, end):
- list = []
+ dogeSequence = []
for i in range(start, end):
if not (i % 3 or i % 5):
- list.append('suchmuch')
+ dogeSequence.append('suchmuch')
elif not i % 3:
- list.append('such')
+ dogeSequence.append('such')
elif not i % 5:
- list.append('much')
+ dogeSequence.append('much')
else:
- list.append(str(i))
- return list
+ dogeSequence.append(str(i))
+ return dogeSequence
def count_doge_words(sentence):
- dodgeWords = ['wow', 'lol', 'so', 'such', 'much', 'very',]
- words = sentence.split(' ')
- dodgeCounter = 0
+ dogeWords = ['wow', 'lol', 'so', 'such', 'much', 'very',]
+ words = sentence.split()
+ dogeCounter = 0
for word in words:
- if word in dodgeWords:
- dodgeCounter+=1
+ if word in dogeWords:
- return dodgeCounter
+ dogeCounter+=1
+ return dogeCounter

Идеята ти е хубаво и изглежда добре, имах предвид използването на отрицанията. Помисли дали имаш нужда от това или можеш да напишеш условията и без not. Това е по-скоро препоръка, но задължително отвори отново линка, който ти пратих и погледни дали си се съобразил с изискванията

Михаил обнови решението на 09.03.2014 20:41 (преди над 10 години)

def wow_such_much(start, end):
- dogeSequence = []
- for i in range(start, end):
- if not (i % 3 or i % 5):
- dogeSequence.append('suchmuch')
- elif not i % 3:
- dogeSequence.append('such')
- elif not i % 5:
- dogeSequence.append('much')
- else:
- dogeSequence.append(str(i))
- return dogeSequence
-
+ doge_sequence = []
+ for i in range(start, end):
+ if not (i % 3 or i % 5):
+ doge_sequence.append('suchmuch')
+ elif not i % 3:
+ doge_sequence.append('such')
+ elif not i % 5:
+ doge_sequence.append('much')
+ else:
+ doge_sequence.append(str(i))
+ return doge_sequence
+
def count_doge_words(sentence):
- dogeWords = ['wow', 'lol', 'so', 'such', 'much', 'very',]
- words = sentence.split()
+ doge_words = ['wow', 'lol', 'so', 'such', 'much', 'very',]
- dogeCounter = 0
+ words = sentence.split()
- for word in words:
+ doge_counter = 0
- if word in dogeWords:
+ for word in words:
- dogeCounter+=1
+ if word in doge_words:
- return dogeCounter
+ doge_counter+=1
+ return doge_counter