That's right
But if we'll look at tests again we'll see only strings (and lists of strings) as arguments... so IMO we should consider this tast as "strings"-exercise. And treat the task widly, like with real life tasks. IMO again.

the problem statement did not state that the case you described should return true. I think it's a safe assumption that the author only wanted a True to return if there was an exact match in the list, and false if there are only partial matches or no match at all.

Ooops, sorry. I got confused between "minor issue"/"major issue" for beta katas (which both lead to the label "issue") and the tag "suggestion". I guess, there's no way for me to change that now, so I mark the issue/suggestion as resolved. Thanks for pointing this out.

@ChristianECooper mentions the same issue. The word "method" in the kata's description should be replaced by "attribute". Then patch your code with one @ant30's suggestions.

I find the topic exciting, but the terminology is notoriously tricky. In particular,

What do you mean by a "random number"? Is minimum a random number? You probably want to ask for a random number generator instead.

Which distributions do you allow? Judging from the comments/tests, the only requirement seems to be that the endpoints of the intervals are supported. On the other hand, most people probably think of a uniform distribution on the entire interval.

Thanks for providing your rationale about "only good input". I haven't given the issue that much thought. -- I will do now. :-)

That's a very nice puzzle. As in the case of Nim, the winning condition is already a huge hint towards the correct move. But the connection to this kata is cool. Thanks for pointing this out.

Your changes are good. My first point was related to "Every positive integer can be written as a sum of Fibonacci numbers." This sets the playing field. It is perfectly fine to say that a solution should validate the input, but I, personnaly, tend to prefer katas that say that we can assume that the input is good. This allows me to cut to the chase and address the essence of the kata. The less frustration, the more upvotes your kata will get. At the end, it's your choice; you don't have to change anything.

I liked this kata, BTW. Just thought about a way of solving it that is better than my original solution. It reminds me about a game I once read about in one of Martin Gardner's books: Two players take turns removing nuts from a bowl between them. The goal is to remove the last nut. The player who goes first must remove at least one nut, but must leave at least one nut. Thereafter, each player in turn must remove at least one nut, but not more than twice as many as the other player removed last. It turns out that the player who goes first can always win unless the number of nuts to start with is a number in the Fibonacci sequence, in which case the other player has a winning strategy. Martin Gardner leaves it to the reader to figure out the strategy. He simply asks two questions:

What is the correct first move if there are 7 nuts in the bowl?

What is the correct first move if there are 20 nuts in the bowl?

(7 is not the correct answer to the second question.)

This could be a nice follow-up to your kata, so please do not reveal any answer to this problem. You'll know when you have the correct answer.

Re 1. (first part) The description also mentions that the function should return None for integers without Zeckendorf representation. So, the test should fail if the function does not return None for input -1.

Re 1. (second part) I agree that the empty list [] is a reasonable output for input n = 0 and have changed the description (and test cases) accordingly. Thanks for the suggestion.

Re 2. I completely agree. Actually, 6kyu is the rank I suggested and that's the only assessment that I see in the stats.

The description mentions Zeckendorf representation of positive integers, so one should be able to assume that n is positive. Yet, tests fail is the function does not return None for non-positive n. Also, the natural result for the case when n == 0 is [], since sum([]) == 0

The kata is way too simple for a 4kyu. I suggest 6kyu or higher.

The description should either mention that the three numbers are always pairwise distinct -- or describe the expected if they are not. For example on input [0, 0, 0].

Needs random tests, and tests with very big inputs.

That's right

But if we'll look at tests again we'll see only strings (and lists of strings) as arguments... so IMO we should consider this tast as "strings"-exercise. And treat the task widly, like with real life tasks. IMO again.

Thanks for your solution anyway.

the problem statement did not state that the case you described should return true. I think it's a safe assumption that the author only wanted a True to return if there was an exact match in the list, and false if there are only partial matches or no match at all.

Very clever, but...

In case of a string='bye' and a list=['bye bye'] it will return False

Ooops, sorry. I got confused between "minor issue"/"major issue" for beta katas (which both lead to the label "issue") and the tag "suggestion". I guess, there's no way for me to change that now, so I mark the issue/suggestion as resolved. Thanks for pointing this out.

So, why do you tag your comment as an "issue" instead of "suggestion"? :D

I suggest to add 'regular expressions' as tag.

@ChristianECooper mentions the same issue. The word "method" in the kata's description should be replaced by "attribute". Then patch your code with one @ant30's suggestions.

I find the topic exciting, but the terminology is notoriously tricky. In particular,

`minimum`

a random number? You probably want to ask for a random number generator instead.uniformdistribution on the entire interval.Thanks for providing your rationale about "only good input". I haven't given the issue that much thought. -- I will do now. :-)

That's a very nice puzzle. As in the case of Nim, the winning condition is already a huge hint towards the correct move. But the connection to this kata is cool. Thanks for pointing this out.

Your changes are good. My first point was related to "

Everypositive integercan be written as a sum of Fibonacci numbers." This sets the playing field. It is perfectly fine to say that a solution should validate the input, but I, personnaly, tend to prefer katas that say that we can assume that the input is good. This allows me to cut to the chase and address the essence of the kata. The less frustration, the more upvotes your kata will get. At the end, it's your choice; you don'thave tochange anything.I liked this kata, BTW. Just thought about a way of solving it that is better than my original solution. It reminds me about a game I once read about in one of Martin Gardner's books: Two players take turns removing nuts from a bowl between them. The goal is to remove the last nut. The player who goes first must remove at least one nut, but must leave at least one nut. Thereafter, each player in turn must remove at least one nut, but not more than twice as many as the other player removed last. It turns out that the player who goes first can always win unless the number of nuts to start with is a number in the Fibonacci sequence, in which case the other player has a winning strategy. Martin Gardner leaves it to the reader to figure out the strategy. He simply asks two questions:

(7 is not the correct answer to the second question.)

This could be a nice follow-up to your kata, so please do not reveal any answer to this problem. You'll know when you have the correct answer.

Re 1. (first part) The description also mentions that the function should return

`None`

for integers without Zeckendorf representation. So, the test should fail if the function does not return`None`

for input`-1`

.Re 1. (second part) I agree that the empty list

`[]`

is a reasonable output for input`n = 0`

and have changed the description (and test cases) accordingly. Thanks for the suggestion.Re 2. I completely agree. Actually, 6kyu is the rank I suggested and that's the only assessment that I see in the stats.

Done :)

positiveintegers, so one should be able to assume that`n`

is positive. Yet, tests fail is the function does not return None for non-positive n. Also, the natural result for the case when`n == 0`

is`[]`

, since`sum([]) == 0`

The description should either mention that the three numbers are always pairwise distinct -- or describe the expected if they are not. For example on input

`[0, 0, 0]`

.## Loading more items...