No one would use the term 'decimal number' if they intended to be that precise in the first place. A 'decimal number' is most commonly referring to a number with a decimal point. If it's referring to any base-10 number, it's already sort-of wrong even though such numbers are part of the decimal system—we have more accurate terms for that.

That the author shouldn't claim that "this is how it works on CW" when his explanation (and possibly understanding) is wrong?

Representing it as an accurate picture of how it works is a different problem than whether it is actually an accurate picture of how it works. This is a fine criticism, but you've moved the goalposts. Additionally, the author never said what you've attributed to him (or her) in your quotation. What the author did say seemed accurate (he never said his calculation method was the way it is done), but if it wasn't, it is probably more helpful to point him to a resource that explains it or explain it yourself than to offer unearned condemnation of his kata idea.

Of course, understanding all of this requires some subtlety. It is neither a criticism nor a compliment when I say I don't see you as a particularly subtle person.

Maybe the solution here is to rename the kata "An alternative calculation of Kata Satisfaction."

basically, do not send the user the same list as sent to your reference solution. instead make a copy and send that to the user, then if they mutate this list it does not effect the testing outcome

A "decimal" is very much in the same spirit as 'floating-point number.'

No. "A decimal number" literally means "a number in base-10 representation". I won't comment on further statements since they're all wrong due to you not understanding this basic idea.

"Not an integer" wouldn't work here

"Not an integer" is the only correct way to describe it with the current wording.

Okay, but what is the actionable take-away from these criticisms?

That the author shouldn't claim that "this is how it works on CW" when his explanation (and possibly understanding) is wrong?

I normally agree with your criticisms of kata, but yours is an odd post this time.

This is supposed to be "a floating point number", "not an integer", or anything in the same spirit, but definitely not "decimal".

I agree the phrasing could be made clearer, perhaps by saying something like "All values should be rounded down to the nearest whole number/integer." But even then we are losing the information that the value should not be represented as a decimal.

A "decimal" is very much in the same spirit as 'floating-point number.' A decimal is a representation of any real or integer using a decimal point. A floating-point number is a representation of a decimal number on a computer. Not all languages even use float as a type and in Python you can certainly represent such numbers using the decimal module.

"Not an integer" wouldn't work here. 1.0 is a decimal (and floating-point) representation of the integer 1. 1.0 is not an int, but it is an integer.

That's not how it really works...
This is not it works on CW either...

Okay, but what is the actionable take-away from these criticisms? There are a lot of kata that don't work 'how it really works.'

I agree with your other two criticisms. Specifically:

What counts as 'irrelevant' should be made clear

How to actually calculate the results should be specified.

"Very Satisfied" vote is equivalent to 100% satisfaction, each "Somewhat Satisfied" vote is equivalent to 50% satisfaction and each "Not Satisfied" vote is equivalent to 0% satisfaction

That's not how it really works, and this doesn't explain how total satisfaction is calculated.

If the answer is a decimal

This is supposed to be "a floating point number", "not an integer", or anything in the same spirit, but definitely not "decimal".

After irrelevant characters are deleted

What are "irrelevant characters"?

If there are >= 4 consecutive "Not Satisfied", your function should return “Retired!”

This is not it works on CW either, the satisfaction rating is, obviously, not the same as the kata status, and the overall rule that having 4 "not satisfied" votes in a row means that for an input list like ["Very Satisfied"] * 100 + ["Not Satisfied"] * 4 the expected result us "Retired!" which makes no sense. This is not really a part of the issue, but I decided to mention it here anyway since this is terrible task design.

From description: """...each "Very Satisfied" vote is equivalent to 50% satisfaction..."""
Probably should be """...each "Somewhat Satisfied" vote is equivalent to 50% satisfaction..."""

Yes, it's O(n^2): you're using a single loop over O(n^2) instead of two nested loops over O(n) both with common complexity of O(n^2). Also, probably it's not so effective because it's using additional checks instead of just using built-in loops (but this should be benchmarked, not speculated), and it's much less readable; but it has the same time complexity.

FArekkusu,

No one would use the term 'decimal number' if they intended to be

thatprecise in the first place. A 'decimal number' ismost commonlyreferring to a number with a decimal point. If it's referring toanybase-10 number, it's already sort-of wrong even though such numbers are part of the decimal system—we have more accurate terms for that.Representingit as an accurate picture of how it works is a different problem than whether it is actually an accurate picture of how it works. This is a fine criticism, but you've moved the goalposts. Additionally, the author never said what you've attributed to him (or her) in your quotation. What the author did say seemed accurate (he never said his calculation method was the way it is done), but if it wasn't, it is probably more helpful to point him to a resource that explains it or explain it yourself than to offer unearned condemnation of his kata idea.Of course, understanding all of this requires some subtlety. It is neither a criticism nor a compliment when I say I don't see you as a particularly subtle person.

Maybe the solution here is to rename the kata "An alternative calculation of Kata Satisfaction."

basically, do not send the user the same list as sent to your reference solution. instead make a copy and send

thatto the user, then if they mutate this list it does not effect the testing outcomeNow I have added the explanation of "irrelevant characters".

Description now updated to "floating point number",

`Decimal`

does have the potential to make some people misunderstandNo. "A decimal number" literally means "a number in base-10 representation". I won't comment on further statements since they're all wrong due to you not understanding this basic idea.

"Not an integer" is the only correct way to describe it with the current wording.

That the author shouldn't claim that "this is how it works on CW" when his explanation (and possibly understanding) is wrong?

I normally agree with your criticisms of kata, but yours is an odd post this time.

I agree the phrasing could be made clearer, perhaps by saying something like "All values should be rounded down to the nearest whole number/integer." But even then we are losing the information that the value should not be represented as a decimal.

A "decimal" is very much in the same spirit as 'floating-point number.' A decimal is a representation of any real or integer using a decimal point. A floating-point number is a representation of a decimal number on a computer. Not all languages even use

`float`

as a type and in Python you can certainly represent such numbers using the`decimal`

module."Not an integer" wouldn't work here.

`1.0`

is a decimal (and floating-point) representation of the integer`1`

.`1.0`

is not an`int`

, but it is an integer.Okay, but what is the actionable take-away from these criticisms? There are a lot of kata that don't work 'how it really works.'

I agree with your other two criticisms. Specifically:

That's not how it really works, and this doesn't explain how total satisfaction is calculated.

This is supposed to be "a floating point number", "not an integer", or anything in the same spirit, but definitely not "decimal".

What are "irrelevant characters"?

This is not it works on CW either, the satisfaction rating is, obviously, not the same as the kata status, and the overall rule that having 4 "not satisfied" votes in a row means that for an input list like

`["Very Satisfied"] * 100 + ["Not Satisfied"] * 4`

the expected result us`"Retired!"`

which makes no sense. This is not really a part of the issue, but I decided to mention it here anyway since this is terrible task design.Hi, rowcased.

I see your solution. I'm sorry I don't know how does it work, and how do I update these test cases?

Thx a lot.

1.Fixed

You're right, fixed now

From description: """...each "Very Satisfied" vote is equivalent to 50% satisfaction..."""

Probably should be """...each "Somewhat Satisfied" vote is equivalent to 50% satisfaction..."""

Yes, it's O(n^2): you're using a single loop over O(n^2) instead of two nested loops over O(n) both with common complexity of O(n^2). Also, probably it's not so effective because it's using additional checks instead of just using built-in loops (but this should be benchmarked, not speculated), and it's much less readable; but it has the same time complexity.

a*(a+1) = n*n

Ok, if you say so, what is the time complexity of my own code since maybe i don't really know about time complexity

The task is to generate O(n^2) elements. You can't do O(n^2) work in less then O(n^2) steps.

## Loading more items...