Start a new Kumite
AllAgda (Beta)BF (Beta)CCFML (Beta)ClojureCOBOL (Beta)CoffeeScriptCommonLisp (Beta)CoqC++CrystalC#D (Beta)DartElixirElm (Beta)Erlang (Beta)Factor (Beta)Forth (Beta)Fortran (Beta)F#GoGroovyHaskellHaxe (Beta)Idris (Beta)JavaJavaScriptJulia (Beta)Kotlinλ Calculus (Beta)LeanLuaNASMNim (Beta)Objective-C (Beta)OCaml (Beta)Pascal (Beta)Perl (Beta)PHPPowerShell (Beta)Prolog (Beta)PureScript (Beta)PythonR (Beta)RacketRaku (Beta)Reason (Beta)RISC-V (Beta)RubyRustScalaShellSolidity (Beta)SQLSwiftTypeScriptVB (Beta)
Show only mine

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.

Ad
Ad
Code
Diff
  • def calculator(a, b, op):
        if not (isinstance(a, (int, float)) and isinstance(b, (int, float))): return "Operands must be numbers"
        match op:
            case '+': return a + b
            case '-': return a - b
            case '*': return a * b
            case '/': return "Cannot divide by zero" if b == 0 else a / b
            case _:   return "Invalid operator"
    
    • def calculator(a, b, operator):
    • if not isinstance(a, (int, float)) or not isinstance(b, (int, float)):
    • return "Operands must be numbers"
    • operations = {
    • '+': lambda x, y: x + y,
    • '-': lambda x, y: x - y,
    • '*': lambda x, y: x * y,
    • '/': lambda x, y: x / y if y != 0 else "Cannot divide by zero"
    • }
    • if operator not in operations:
    • return "Invalid operator"
    • return operations[operator](a, b)
    • def calculator(a, b, op):
    • if not (isinstance(a, (int, float)) and isinstance(b, (int, float))): return "Operands must be numbers"
    • match op:
    • case '+': return a + b
    • case '-': return a - b
    • case '*': return a * b
    • case '/': return "Cannot divide by zero" if b == 0 else a / b
    • case _: return "Invalid operator"

Trust me, it works with my version of 2.

Code
Diff
  • class MyInt(int):
        def __lt__(self, x):
            return True
        def __gt__(self, x):
            return False
        def __eq__(self, x):
            return False
        def __lte__(self, x):
            return False
        def __gte__(self, x):
            return False
    
    def above_two(arg):
        return arg > MyInt(2)
    • #If it is not true currently, I shall make it true
    • class MyInt(int):
    • def __lt__(self, x):
    • return True
    • def __gt__(self, x):
    • return False
    • def __eq__(self, x):
    • return False
    • def __lte__(self, x):
    • return False
    • def __gte__(self, x):
    • return False
    • def above_two(arg):
    • if not(arg > 2):
    • while not(arg > 2):
    • arg += 1
    • return True
    • pass
    • else:
    • return True
    • return arg > MyInt(2)

Runtime error :)

Code
Diff
  • import random
    def cursed_world():
        l = []
        for letter in "abcdefghijklmnopqrstuvwxyz ":
            if letter == 'h':
                l.append(letter)
            if letter == 'e':
                l.append(letter)
            if letter == 'l':
                l.append(letter)
                l.append(letter)
                l.append(letter)
            if letter == 'o':
                l.append(letter)
                l.append(letter)
            if letter == 'r':
                l.append(letter)
            if letter == 'w':
                l.append(letter)
            if letter == 'd':
                l.append(letter)
            if letter == " ":
                l.append(letter)
    
                
        while True: 
            random.shuffle(l)
            if "".join(l) == "hello world":
                return "".join(l)
    • import random
    • def cursed_world():
    • return "hello world"
    • l = []
    • for letter in "abcdefghijklmnopqrstuvwxyz ":
    • if letter == 'h':
    • l.append(letter)
    • if letter == 'e':
    • l.append(letter)
    • if letter == 'l':
    • l.append(letter)
    • l.append(letter)
    • l.append(letter)
    • if letter == 'o':
    • l.append(letter)
    • l.append(letter)
    • if letter == 'r':
    • l.append(letter)
    • if letter == 'w':
    • l.append(letter)
    • if letter == 'd':
    • l.append(letter)
    • if letter == " ":
    • l.append(letter)
    • while True:
    • random.shuffle(l)
    • if "".join(l) == "hello world":
    • return "".join(l)
Code
Diff
  • // патриотическая задача 1
    _ = (_1,_2,_3) =>_1>_2 && _1>_3?_1:
                     _2>_1 && _2>_3?_2:
                     _3;
    
    
    • // патриотическая задача 1
    • _ = () =>
    • _ = (_1,_2,_3) =>_1>_2 && _1>_3?_1:
    • _2>_1 && _2>_3?_2:
    • _3;
Code
Diff
  • let d = 90;
    
    o = d < 3 ? "Almost there": "yuh gotta wait a little"
    console.log(o);
    • let distance = 90; // try changing this value to test different outputs
    • let d = 90;
    • output = distance < 3 ? "Almost there": "yuh gotta wait a little"
    • console.log(output);
    • o = d < 3 ? "Almost there": "yuh gotta wait a little"
    • console.log(o);

В студенческой группе учатся мальчики и девочки. Иногда важно знать кого из них больше или меньше, чтобы подготовиться к празднику. Разработайте код функции, возвращающей эту информацию. Входным параметром функции будет последовательность 1 и -1, где 1 символизирует мальчика, -1 - девочку. Есть только одно условие - код НЕ должен содержать символов английского алфавита!

(1, -1, 1, 1, 1, -1, -1) // Девочек на 1 меньше (1, -1, 1, 1, 1, -1, -1, -1, -1) // Девочек на 1 больше (1, -1, 1, 1, 1, -1, -1, -1) // Девочек и мальчиков равное количество

Code
Diff
  • сколькоСтудентовОдногоПола = (пол, полСтудента1, ...остальные) => полСтудента1
          ? сколькоСтудентовОдногоПола(пол, ...остальные) + (полСтудента1 === пол ? 1 : 0)
          : 0;
    
    когоБольше = (...группа) => сколькоСтудентовОдногоПола(1, ...группа) > сколькоСтудентовОдногоПола(-1, ...группа)
      ? `Девочек на ${сколькоСтудентовОдногоПола(1, ...группа) - сколькоСтудентовОдногоПола(-1, ...группа)} меньше`
      : сколькоСтудентовОдногоПола(1, ...группа) === сколькоСтудентовОдногоПола(-1, ...группа)
        ? `Девочек и мальчиков равное количество`
        : `Девочек на ${сколькоСтудентовОдногоПола(-1, ...группа) - сколькоСтудентовОдногоПола(1, ...группа)} больше`
    • когоБольше = (...группа) => {
    • сколькоСтудентовОдногоПола = (пол, полСтудента1, ...остальные) => полСтудента1
    • ? сколькоСтудентовОдногоПола(пол, ...остальные) + (полСтудента1 === пол ? 1 : 0)
    • : 0;
    • }
    • когоБольше = (...группа) => сколькоСтудентовОдногоПола(1, ...группа) > сколькоСтудентовОдногоПола(-1, ...группа)
    • ? `Девочек на ${сколькоСтудентовОдногоПола(1, ...группа) - сколькоСтудентовОдногоПола(-1, ...группа)} меньше`
    • : сколькоСтудентовОдногоПола(1, ...группа) === сколькоСтудентовОдногоПола(-1, ...группа)
    • ? `Девочек и мальчиков равное количество`
    • : `Девочек на ${сколькоСтудентовОдногоПола(-1, ...группа) - сколькоСтудентовОдногоПола(1, ...группа)} больше`

Why use extra 4 bytes :D

Code
Diff
  • int sum_of_numbers(int a, int b)
    {
      return a + b;
    }
    • int sum_of_numbers(int a, int b)
    • {
    • int sum=a+b;
    • return sum;
    • return a + b;
    • }
Code
Diff
  • def max_number(n):
        d = 0
        
        # Get number of digits
        while n // (10 ** d):
            d += 1
        
        # Get digit of n with length d at index i
        def digit(n, d, i):
            return int((n // (10 ** (d - i - 1)))) % 10
            
        # Swap digits of n in place
        def swap(n, d, i, j):
            di = digit(n, d, i)
            dj = digit(n, d, j)
            
            n -= di * (10 ** (d - i - 1))
            n -= dj * (10 ** (d - j - 1))
            n += di * (10 ** (d - j - 1))
            n += dj * (10 ** (d - i - 1))
            
            return n
    
        x = None
    
        # Bubble sort an integer in place
        while x != n:
            x = n
    
            for i in range(d):
                di = digit(n, d, i)
                for j in range(d - 1, i, -1):
                    dj = digit(n, d, j)
                    
                    # Swap condition if you'd prefer smallest int
                    if di < dj:
                        n = swap(n, d, i, j)
                        break
                        
                if x != n:
                    break
                    
        return n
    • import java.util.Arrays;
    • def max_number(n):
    • d = 0
    • # Get number of digits
    • while n // (10 ** d):
    • d += 1
    • # Get digit of n with length d at index i
    • def digit(n, d, i):
    • return int((n // (10 ** (d - i - 1)))) % 10
    • # Swap digits of n in place
    • def swap(n, d, i, j):
    • di = digit(n, d, i)
    • dj = digit(n, d, j)
    • n -= di * (10 ** (d - i - 1))
    • n -= dj * (10 ** (d - j - 1))
    • n += di * (10 ** (d - j - 1))
    • n += dj * (10 ** (d - i - 1))
    • return n
    • public class MaxNumber {
    • public static long print(long number) {
    • return number
    • }
    • }
    • x = None
    • # Bubble sort an integer in place
    • while x != n:
    • x = n
    • for i in range(d):
    • di = digit(n, d, i)
    • for j in range(d - 1, i, -1):
    • dj = digit(n, d, j)
    • # Swap condition if you'd prefer smallest int
    • if di < dj:
    • n = swap(n, d, i, j)
    • break
    • if x != n:
    • break
    • return n
Code
Diff
  • def multiply_and_add_one(a, b):
        if a > b:
            return multiply_and_add_one(b, a)
        
        elif b != 0:
            return a + multiply_and_add_one(a, b - 1)
        
        elif b == 0:
            return 1
        
        else:
            return 0
    
    • def multiply_and_add_one(a, b):
    • return (a * b) + 1
    • if a > b:
    • return multiply_and_add_one(b, a)
    • elif b != 0:
    • return a + multiply_and_add_one(a, b - 1)
    • elif b == 0:
    • return 1
    • else:
    • return 0