Денис обнови решението на 09.03.2014 18:22 (преди над 10 години)
+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
?