Ad
  • Default User Avatar

    I totally agree that the task is above the 8 kyu level. However, I have to say that it can be solved via coding (and very basic coding) rather than digging into docs.

  • Default User Avatar

    This is the only kata our of 100+ that I will say is not 8 kyu.
    I only say this because an 8 kyu doesn't have the problem solving skills to finish this. Coding isn't the only merit in which a challenge should be measured.
    I know you can't change the rating, but just for future reference.

  • Default User Avatar

    Rounding does follow rules mathematically. If the number you are rounding is followed by 5, 6, 7, 8, or 9, round the number up.

  • Default User Avatar

    Normal should be paying staff a wage that doesn't require tips. A tip from a non American. :)

  • Default User Avatar

    Okay, so it is a me thing. :)
    Sorry and thanks for the time! Was just confused. Happy Easter!

  • Custom User Avatar

    Ok, I see what you mean now, I was more focused in the difference in these two:

    import codewars_test as test
    from solution import remove_exclamation_marks
    
    @test.describe("Fixed Tests")
    ...
    test.describe("Fixed Tests")
    

    An empty string is as valid as any other string.

  • Default User Avatar

    In the first post the top code block is the current test cases, minus imports. The bottom is what I thought they should be. Since the kata is about removing a single character, it didn't make sense for there to be no value for the input on the 4th test case. I added the character to the 4th test case (to the bottom code block) to kind of demonstrate what I thought was missing. But, like I said. I am new enough at this, and maybe I have missed some really common issue, but I am just going off the description. Maybe I am supposed to omit the invalid input or something?

  • Custom User Avatar

    In your first post you said those should be the tests, what's wrong with them?

  • Default User Avatar

    After resetting I still see these test cases:

    import codewars_test as test
    from solution import remove_exclamation_marks
    
    @test.describe("Fixed Tests")
    def fixed_tests():
        @test.it('Basic Test Cases')
        def basic_test_cases():
            test.assert_equals(remove_exclamation_marks("Hello World!"), "Hello World")
            test.assert_equals(remove_exclamation_marks("Hello World!!!"), "Hello World")
            test.assert_equals(remove_exclamation_marks("Hi! Hello!"), "Hi Hello")
            test.assert_equals(remove_exclamation_marks(""), "")
            test.assert_equals(remove_exclamation_marks("Oh, no!!!"), "Oh, no")
    

    I am happy to just be wrong about what I am meant to do, but i am not sure from the description. Do you see a different set of test cases upon reset in Python?

  • Custom User Avatar

    Click Reset. I don't see that.

  • Default User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Default User Avatar

    The test cases are wrong for Python. They are currently:

      test.describe("Fixed Tests")
       def fixed_tests():
          @test.it('Basic Test Cases')
          def basic_test_cases():
            test.assert_equals(remove_exclamation_marks("Hello World!"), "Hello World")
            test.assert_equals(remove_exclamation_marks("Hello World!!!"), "Hello World")
            test.assert_equals(remove_exclamation_marks("Hi! Hello!"), "Hi Hello")
            test.assert_equals(remove_exclamation_marks(""), "")
            test.assert_equals(remove_exclamation_marks("Oh, no!!!"), "Oh, no")
    

    where it should be

    import codewars_test as test
    from solution import remove_exclamation_marks
    
    @test.describe("Fixed Tests")
    def fixed_tests():
        @test.it('Basic Test Cases')
        def basic_test_cases():
            test.assert_equals(remove_exclamation_marks("Hello World!"), "Hello World")
            test.assert_equals(remove_exclamation_marks("Hello World!!!"), "Hello World")
            test.assert_equals(remove_exclamation_marks("Hi! Hello!"), "Hi Hello")
            test.assert_equals(remove_exclamation_marks("!"), "")
            test.assert_equals(remove_exclamation_marks("Oh, no!!!"), "Oh, no")
    

    Not sure if I am mistaken or there is some other motive here, but the description doesn't seem so!
    The most basic solution is fixing the test cases within the basic test cases, otherwise removing the basic test cases from the extended testing.