From a single string, find the number of letters for each letter in "duck", find how many "duck"s you have and return it in a dictionary
Example:
"ddduuccckkkkk"
returns { "d":3, "u":2, "c":3, "k":5, "ducks":2 }
Example 2:
"ddddduuuuuccccckkkkk"
return { "d":5, "u":5, "c":5, "k":5, "ducks":5 }
def duck_duck(a):
return
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
import random
import string
# test.assert_equals(actual, expected, [optional] message)
def duck_test():
duck_dict = {
"d":0,
"u":0,
"c":0,
"k":0,
"ducks":0
}
random_string = ""
for i in range(random.randint(1900000,2000000)):
value = random.choice(string.ascii_lowercase)
if(value=="d"or value=="u"or value=="c"or value=="k"):
duck_dict[value]+=1
random_string+=value
duck_chars = list(duck_dict.values())[:4]
duck_dict["ducks"]=min(duck_chars)
return duck_dict, random_string
@test.describe("Example")
def test_group():
duck_dict_test, random_string_test = duck_test()
@test.it("test case")
def test_case():
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
test.assert_equals(duck_duck(random_string_test), duck_dict_test)
From a single string, find the number of letters for each letter in "duck", find how many "duck"s you have and return it in a dictionary
Example:
"ddduuccckkkkk"
returns { "d":3, "u":2, "c":3, "k":5, "ducks":2 }
Example 2:
"ddddduuuuuccccckkkkk"
return { "d":5, "u":5, "c":5, "k":5, "ducks":5 }
def duck_test(a):
duck_dict = {'d': 0, 'u': 0, 'c': 0, 'k': 0, 'ducks': 0}
for i in a.lower():
if i in duck_dict and i != 's':
duck_dict[i] += 1
duck_dict['ducks'] = min(duck_dict[k] for k in 'duck')
return duck_dict
import codewars_test as test
# TODO Write tests
import solution# or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(duck_test('thybwmcuhxtyuljgrlbqvpnwzwwtnduazikohbqgxjbmhonfsqwmuzkgskxiyiqaccqoqzksenaneqmznblnixmhywnwgfrwhjtirblbwcnxfhbouxkourgolppyprsjmkbpemdadtkmzhjdpgrufykjisdjktgmamnzuhvoasbujbuwhejhsftfcx'), {'d': 5, 'u': 10, 'c': 5, 'k': 9, 'ducks': 5})
test.assert_equals(duck_test('keqrrtnyyuuotywrokeixpjiljhmmzyagvaxldzdqfwhebmhvaarbepilemxqrdaetwyqlcpuljvvvuarsxvjjoabfzdnpvzoemonbbna'),{'d': 4, 'u': 4, 'c': 1, 'k': 2, 'ducks': 1})
test.assert_equals(duck_test('cluucgqlfdlemmdcadrnbilfwbvpbmwpcqxqtradxwcqfigciqfxaypjpdqmmnqzhfgvdnclqqynnhglbiezdibcgbfjufwgtruvgoyilhlhfdcggqcykfjarzzcfrkdvmvlghsfywdgqwggmqhtwcxtivcvizlivwgutdeeytzeuonibaextzodepwdbjplypkf'),{'d': 13, 'u': 6, 'c': 13, 'k': 3, 'ducks': 3})
test.assert_equals(duck_test('oymksoixhujmefufsyvsdufpvxgjbkxmlhsgnpxvpdciokqedxshhvcdfcfjfrctscbfftlvrvejclyswwlhgenugpbrddlavkmizczkygvmablklggwzmtxkrskcsvidjwdaatjprpp' ),{'d': 8, 'u': 4, 'c': 8, 'k': 8, 'ducks': 4})
test.assert_equals(duck_test('ckhqacxxmqcsdnjqwflyleeokflqfsaoibfqvzsdtpwetyzvjgbczbyghuksuwgianhhtfozhkgytjjmxibovnkkwwnkkutajcplyjtfpfncjjuwchjnwyrfovagdwxoqadenudlvmwgyrfdljcsps' ),{'d': 6, 'u': 5, 'c': 8, 'k': 8, 'ducks': 5})
test.assert_equals(duck_test('ploalkfrvrjfqvfzohwkaspkvmssmkntzihyqxswzyukknbplqlcdcjlhrbzriunvpiiuqpdvdtwikvbfmskugslfgsglcilgbuqfewrzrzfrwxu'),{'d': 3, 'u': 6, 'c': 3, 'k': 8, 'ducks': 3})
test.assert_equals(duck_test('hkfcvdofssyupugepsqwobjakpnodrcadvzlscdvwxrmppssczmhfuyegjxomijqybggaimgjwjqdatkadirarujsuuvbqlzvbgrzqvtrukhkzelplhenrzbavpfzbbwqdtorpuxjrsxrdarqgzvffqhckkmsechqktqyqqetpmgee'),{'d': 8, 'u': 8, 'c': 6, 'k': 8, 'ducks': 6})
test.assert_equals(duck_test('uxfxzvpcvfteiptxtxftplydfwepfdxyovddhfmidtxddjflroyqdzkqasdvoufksnucayyyerajdhhztcmeuvikqtqsjtmmyrecvirjyymyglqtsnsjucbroalwcajquhwptibaixbfaetrrruvcly'),{'d': 10, 'u': 7, 'c': 7, 'k': 3, 'ducks': 3})
test.assert_equals(duck_test('jymscjmrznstejqlcotsxavyjuavscpabmwnsaguyzfcdbezcylzygxlkuovootlkvourlyjlyovtqfiftkyzcrnfmjakelxkoxndzcfkqzys'),{'d': 2, 'u': 4, 'c': 7, 'k': 6, 'ducks': 2})
test.assert_equals(duck_test('uvdukkotfytayibmczelrsarfzmmhuavcskcyxwyjbxyydivdpzonvelhxciwsitagqrxjmrsmhtezeiiihhkhevwtqjigufghrtiwocqqsgwcojejfvfykpktxkzsqnugatynloxxxhjbtoqozpaiymqjnciezh'),{'d': 3, 'u': 5, 'c': 7, 'k': 7, 'ducks': 3})
Find the letters below in a list
'D', 'U', 'C', 'K'
Return the amount of times the word 'DUCK' can be spelled out
Note: lowercase and uppercase letters should be used in this problem
def save_ducks(flocks):
quack = madducks = 0
for duck in flocks.upper():
if duck == "DUCK"[quack]:
quack += 1
if quack == 4:
madducks += 1
quack = 0
return madducks
import codewars_test as test
# TODO Write tests
import solution # or from solution import example
# test.assert_equals(actual, expected, [optional] message)
@test.describe("Example")
def test_group():
@test.it("test case")
def test_case():
test.assert_equals(save_ducks('fghfjfDshkshgujhshgncbsghgKhashdjhsguhasdhchaskhd'), 2)
test.assert_equals(save_ducks('madducksboomboomduckymad'), 2)
test.assert_equals(save_ducks('uh oh you made the duck mad'), 1)
test.assert_equals(save_ducks('a duck wont duck a duck fight'), 3)
test.assert_equals(save_ducks('duckduckduckduckduckduckduckhaha'), 7)
test.assert_equals(save_ducks('when do ducks cross the road?'), 1)
test.assert_equals(save_ducks('I love Ducks! Ducks are yummy! Ducks Duck Boom!'), 4)
test.assert_equals(save_ducks('Ducks love Ducks and Ducks are Ducks for Ducks'), 5)