-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[List Ops]: clarity about what operations we are permitted to use #3154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
🤖 🤖 Hi! 👋🏽 👋 Welcome to the Exercism Python Repo! Thank you for opening an issue! 🐍 🌈 ✨
◦ If you'd also like to make a PR to fix the issue, please have a quick look at the Pull Requests doc.
💛 💙 While you are here... If you decide to help out with other open issues, you have our gratitude 🙌 🙌🏽. |
It means to implement them without using the built-in functions. Some of those functions are described here. Other than that, use what makes sense to you. If the solution passes all the tests, and you'd like feedback, you can request mentoring. |
Of course, you may use other built-in functions: just not the ones that are essentially equivalent. For instance, "how would I get the length if the |
Thanks for the replies, but I think there still needs to be more clarity on what we can and can't use. For example, There's maybe no hard and fast rules about what list of operations are "basic" or whatever, but it might help to have a bit more guidance. |
Thank you for the level of conscientiousness you're bringing to this. What is "allowed" is real constrained by only two things. What passes the tests is what is "allowed" by Exercism. What level of challenge to accept is what is "allowed" by yourself. So, even if But if you feel you don't learn enough by doing that, then try to figure out another way. The direction to not use Also, you should know that the instructions are inherited from the problem-specifications repository, from which all language tracks derive. So, if this response leaves something you still want to address, you may want to open an issue at that level. If you do, please let us know so we can close this language-specific issue. Thanks! |
Happy to give something back, I've learned a lot from exercism. I think the point about setting your own level of challenge is a helpful one, and perhaps we should say something like that in the instructions. I think the issue is that python is a very expressive language, and this exercise is actually very easy if you can use python's slicing and list comprehension constructs. Perhaps the instructions could say: "for an additional challenge, try completing the exercise using only the following methods and functions..." I don't really have a specific idea about which subset of functions would make this exercise interestingly challenging (but doable), but I thought it was worth opening up a discussion about it. |
Setting one's one level of challenge applies to all exercises, so a place to make that more clear may be in the Getting Started doc for Exercism. An issue with suggesting specific functions to solve an exercise is that Exercism doesn't want to give away a solution. It is up to the student to explore what approaches are available and to implement what they choose to pass the tests. After that, if the student would like to "know what they don't know" they can look at community solutions or request mentoring. |
Hi @scmbradley 👋🏽 Just chiming in here to say that since we've re-ordered the track, we have had a few questions on this particular exercise. See #3142, #3141, and the related #2078 in problem-specifications. It is probably due for a little going over/revising. As discussed in #2078, there are several avenues we could take in clarifying/filling out this exercise:
We'd welcome PRs connected to any of the above, and we'd be happy to help you through the PR process, if you'd like to take on any of the work. Since we've gotten multiple sets of feedback on this exercise, I was thinking of consolidating the comments into one issue for tracking purposes. Let us know if you'd like to take a shot at improving this exercise, and I can assign the consolidated issue to you! |
@scmbradley - closing this in favor of the tracking issue. Please comment there if you would like to work on it and submit a PR. Many thanks for filing this! |
The instructions ask us to implement
map
,filter
etc "without using existing functions.". But what does that mean? For example,append
can simply bereturn list1+list2
but that seems like cheating, and not in the spirit of the exercise. But which resources are we permitted to draw on and which not? It's not very clear what counts as a reasonable solution and what solutions are just cheating.The text was updated successfully, but these errors were encountered: