Денис обнови решението на 09.03.2014 18:22 (преди над 11 години)
+def divisors_5_3(number):
+ if number%5 == 0 and number%3 == 0:
+ return "suchmuch"
+ elif number%5 == 0:
+ return "much"
+ elif number%3 == 0:
+ return "such"
+ else:
+ return str(number)
+
+def wow_such_much(start_of_range,end_of_range):
+ list_of_range=[]
+ if(end_of_range>=start_of_range):
+ for i in range(start_of_range,end_of_range):
+ list_of_range.append(str(i))
+ f=lambda x:divisors_5_3(int(x))
+ list_of_range=list(map(f,list_of_range))
+ return list_of_range
+
+
+def count_doge_words(string_to_check):
+ test=[]
+ test=string_to_check.split(' ')
+ bad_words=["wow", "lol", "so", "such", "much", "very"]
+ f=lambda x:x in bad_words
+ test=list(filter((lambda x:x in bad_words),test))
+ return len(test)
- индентацията не ти е ок - предполагам, че редакторът ти слага табове, а не спейсове и тук, както виждаш, излиза като
8спейса - трябва да са4 - PEP8 - виж къде трябва да се слагат бели символи(основно спейсове)
- не слагай скоби около условията на if-овете - не е нужно и нарушаваш конвенция(PEP8)
- в лекцията има слайд "
forкато в C", но се опитвай да ги избягваш, особено при итериране на колекции - припомни си другите начини за използване наfor - нужно ли е в
wow_such_muchда минаваш презstrи после отново наint? -
mapможе да се използва и върхуstringове, не само върху списъци - помисли дали ти трябва
test = [] - по подразбиране
splitразделя на бял символ, не е нужно да му казваш експлицитно - за какво ти е нужна
f?
