Begin a new Kumite
Kumite (ko͞omiˌtā) is the practice of taking techniques learned from Kata and applying them through the act of freestyle sparring.
You can create a new kumite by providing some initial code and optionally some test cases. From there other warriors can spar with you, by enhancing, refactoring and translating your code. There is no limit to how many warriors you can spar with.
A great use for kumite is to begin an idea for a kata as one. You can collaborate with other code warriors until you have it right, then you can convert it to a kata.
Ruby lambda function
remove = -> (s) do s.gsub(/[^a-z]/, "") end
1 − remove = lambda s: ''.join(x for x in s if x.islower())
1 + remove = -> (s) do
2 + s.gsub(/[^a-z]/, "")
3 + end
Test.assert_equals(remove.('hell o'), 'hello') Test.assert_equals(remove.('Hello'), 'ello') Test.assert_equals(remove.('hel1o'), 'helo') Test.assert_equals(remove.('Hel1 o'), 'elo')
1 − import codewars_test as test
2 − import solution # or from solution import example
3 − 4 − @test.describe("remove")
5 − def test_group():
6 − @test.it("test cases")
7 − def test_case():
8 − test.assert_equals(remove('hell o'), 'hello')
9 − test.assert_equals(remove('Hello'), 'ello')
10 − test.assert_equals(remove('hel1o'), 'helo')
11 − test.assert_equals(remove('Hel1 o'), 'elo')
12 − 13 − 14 − 1 + Test.assert_equals(remove.('hell o'), 'hello')
2 + Test.assert_equals(remove.('Hello'), 'ello')
3 + Test.assert_equals(remove.('hel1o'), 'helo')
4 + Test.assert_equals(remove.('Hel1 o'), 'elo')
Ruby lambda function
digital_root = -> (n) do n < 10 ? n : digital_root.(n.digits.sum) end
1 − digital_root=lambda n:digital_root(sum(map(int, str(n))))if n>9 else n
1 + digital_root = -> (n) do
2 + n < 10 ? n : digital_root.(n.digits.sum)
3 + end
Test.assert_equals(digital_root.(0), 0) Test.assert_equals(digital_root.(1245358), 1) Test.assert_equals(digital_root.(8679305), 2) Test.assert_equals(digital_root.(10101), 3) Test.assert_equals(digital_root.(4444444444), 4) Test.assert_equals(digital_root.(50207), 5) Test.assert_equals(digital_root.(330), 6) Test.assert_equals(digital_root.(7324), 7) Test.assert_equals(digital_root.(11111111), 8) Test.assert_equals(digital_root.(123456789), 9)
1 − import codewars_test as test
2 − from solution import digital_root
3 − 4 − @test.describe("Example")
5 − def test_group():
6 − @test.it("Digital Root")
7 − def test_case():
8 − test.assert_equals(digital_root(0), 0)
9 − test.assert_equals(digital_root(1245358), 1)
10 − test.assert_equals(digital_root(8679305), 2)
11 − test.assert_equals(digital_root(10101), 3)
12 − test.assert_equals(digital_root(4444444444), 4)
13 − test.assert_equals(digital_root(50207), 5)
14 − test.assert_equals(digital_root(330), 6)
15 − test.assert_equals(digital_root(7324), 7)
16 − test.assert_equals(digital_root(11111111), 8)
17 − test.assert_equals(digital_root(123456789), 9)
1 + Test.assert_equals(digital_root.(0), 0)
2 + Test.assert_equals(digital_root.(1245358), 1)
3 + Test.assert_equals(digital_root.(8679305), 2)
4 + Test.assert_equals(digital_root.(10101), 3)
5 + Test.assert_equals(digital_root.(4444444444), 4)
6 + Test.assert_equals(digital_root.(50207), 5)
7 + Test.assert_equals(digital_root.(330), 6)
8 + Test.assert_equals(digital_root.(7324), 7)
9 + Test.assert_equals(digital_root.(11111111), 8)
10 + Test.assert_equals(digital_root.(123456789), 9)
def prod(numbers) numbers.reduce(:*) || 0 end
1 − from functools import reduce
2 − from operator import mul
3 − 4 − def prod(numbers):
5 − return reduce(mul, numbers or [0], 1)
1 + def prod(numbers)
2 + numbers.reduce(:*) || 0
3 + end
6 6
Test.assert_equals(prod([1,1]), 1) Test.assert_equals(prod([]), 0) Test.assert_equals(prod((1...10)), 362880)
1 − import codewars_test as test
2 − # TODO Write tests
3 − import solution # or from solution import example
4 − 5 − # test.assert_equals(actual, expected, [optional] message)
6 − @test.describe("Simple tests")
7 − def test_group():
8 − @test.it("Short lists")
9 − def test_case():
10 − test.assert_equals(prod([1,1]), 1)
11 − test.assert_equals(prod([]), 0)
12 − test.assert_equals(prod(range(1,10)), 362880)
1 + Test.assert_equals(prod([1,1]), 1)
2 + Test.assert_equals(prod([]), 0)
3 + Test.assert_equals(prod((1...10)), 362880)
def final_price(price) (price*(1.1+(price>=1e3 ? 0.3 : 0))).round(2) end
1 − def final_price(price):
2 − return round(price*(1.1+(0.3 if price>=1e3 else 0)), 2)
1 + def final_price(price)
2 + (price*(1.1+(price>=1e3 ? 0.3 : 0))).round(2)
3 + end
Test.assert_equals(final_price(100), 110) Test.assert_equals(final_price(900), 990) Test.assert_equals(final_price(2000), 2800) #edge_cases Test.assert_equals(final_price(1000), 1400) Test.assert_equals(final_price(999), 1098.9) #rounding Test.assert_equals(final_price(101), 111.1)
1 − # test.assert_equals(actual, expected, [optional] message)
2 − @test.describe("These are your Test results")
3 − def test_group():
4 − @test.it("test case")
5 − def test_case():
6 − #basic tests
7 − test.assert_equals(final_price(100), 110);
8 − test.assert_equals(final_price(900), 990);
9 − test.assert_equals(final_price(2000), 2800);
10 − #edge_cases
11 − test.assert_equals(final_price(1000), 1400);
12 − test.assert_equals(final_price(999), 1098.9);
13 − #rounding
14 − test.assert_equals(final_price(101), 111.1);
1 + Test.assert_equals(final_price(100), 110)
2 + Test.assert_equals(final_price(900), 990)
3 + Test.assert_equals(final_price(2000), 2800)
4 + #edge_cases
5 + Test.assert_equals(final_price(1000), 1400)
6 + Test.assert_equals(final_price(999), 1098.9)
7 + #rounding
8 + Test.assert_equals(final_price(101), 111.1)
9 + 15 15
lambda function in Ruby
Test.assert_equals(f.("lsadfkj", 3), "lsadfkjlsadfkjlsadfkj") Test.assert_equals(f.("hello", 4), "hellohellohellohello") Test.assert_equals(f.("hu", 0), "")
1 − Test.describe("Basic Tests")
2 − test.assert_equals(f("lsadfkj", 3), "lsadfkjlsadfkjlsadfkj")
3 − test.assert_equals(f("hello", 4), "hellohellohellohello")
4 − test.assert_equals(f("hu", 0), "")
1 + Test.assert_equals(f.("lsadfkj", 3), "lsadfkjlsadfkjlsadfkj")
2 + Test.assert_equals(f.("hello", 4), "hellohellohellohello")
3 + Test.assert_equals(f.("hu", 0), "")
0
Recent Moves:
def rubegoldberg() return rand(1..10**rand(1..10)) ** 0 end
1 − from random import randint
2 − 3 − def rubegoldberg():
4 − return randint(1, 10**randint(1, 10)) ** 0
1 + def rubegoldberg()
2 + return rand(1..10**rand(1..10)) ** 0
3 + end
Test.assert_equals(rubegoldberg(), 1)
1 − test.assert_equals(rubegoldberg(), 1)
1 + Test.assert_equals(rubegoldberg(), 1)
def numberplatereader(s) /[A-Z]{2}\d{2}\s[A-Z]{3}/ === s end
1 − numberplatereader=lambda*p:bool(__import__('re').match("[A-Z]{2}\d{2}\s[A-Z]{3}",*p))
1 + def numberplatereader(s)
2 + /[A-Z]{2}\d{2}\s[A-Z]{3}/ === s
3 + end
Test.assert_equals(numberplatereader("KU63 NZZ"), true) Test.assert_equals(numberplatereader("AB12 CDE"),true) Test.assert_equals(numberplatereader("KU63 NZZ"), true) Test.assert_equals(numberplatereader("12"),false) Test.assert_equals(numberplatereader(""), false) Test.assert_equals(numberplatereader("AB12 C0E"),false) Test.assert_equals(numberplatereader("BDS 1"), false) Test.assert_equals(numberplatereader("CBS 0"),false) Test.assert_equals(numberplatereader("KV35 ZHE"), true) Test.assert_equals(numberplatereader("BB12 BB8"),false)
1 − Test.assert_equals(numberplatereader("KU63 NZZ"), True)
2 − Test.assert_equals(numberplatereader("AB12 CDE"),True)
3 − Test.assert_equals(numberplatereader("KU63 NZZ"), True)
4 − Test.assert_equals(numberplatereader("12"),False)
5 − Test.assert_equals(numberplatereader(""), False)
6 − Test.assert_equals(numberplatereader("AB12 C0E"),False)
7 − Test.assert_equals(numberplatereader("BDS 1"), False)
8 − Test.assert_equals(numberplatereader("CBS 0"),False)
9 − Test.assert_equals(numberplatereader("KV35 ZHE"), True)
10 − Test.assert_equals(numberplatereader("BB12 BB8"),False)
1 + Test.assert_equals(numberplatereader("KU63 NZZ"), true)
2 + Test.assert_equals(numberplatereader("AB12 CDE"),true)
3 + Test.assert_equals(numberplatereader("KU63 NZZ"), true)
4 + Test.assert_equals(numberplatereader("12"),false)
5 + Test.assert_equals(numberplatereader(""), false)
6 + Test.assert_equals(numberplatereader("AB12 C0E"),false)
7 + Test.assert_equals(numberplatereader("BDS 1"), false)
8 + Test.assert_equals(numberplatereader("CBS 0"),false)
9 + Test.assert_equals(numberplatereader("KV35 ZHE"), true)
10 + Test.assert_equals(numberplatereader("BB12 BB8"),false)
Recent Moves:
3 chars short
This kumite is redundant TBH