Python icon indicating copy to clipboard operation
Python copied to clipboard

Readable code, function docstring and doctests

Open Hardvan opened this issue 2 years ago • 9 comments

Improved code readability by using separate if-elif statements for conditional checks. Added inline comments to describe the procedure steps. Enhanced function documentation for clarity. Incorporated additional function doctests for thorough testing. Added Wikipedia reference link for the Fractional Knapsack algorithm.

  • [ ] Add an algorithm?
  • [x] Fix a bug or typo in an existing algorithm?
  • [ ] Add or change doctests? -- Note: Please avoid changing both code and tests in a single pull request.
  • [ ] Documentation change?

Checklist:

  • [x] I have read CONTRIBUTING.md.
  • [x] This pull request is all my own work -- I have not plagiarized.
  • [x] I know that pull requests will not be merged if they fail the automated tests.
  • [x] This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • [x] All new Python files are placed inside an existing directory.
  • [x] All filenames are in all lowercase characters with no spaces or dashes.
  • [x] All functions and variable names follow Python naming conventions.
  • [x] All function parameters and return values are annotated with Python type hints.
  • [x] All functions have doctests that pass the automated testing.
  • [x] All new algorithms include at least one URL that points to Wikipedia or another similar explanation.
  • [ ] If this pull request resolves one or more open issues then the description above includes the issue number(s) with a closing keyword: "Fixes #ISSUE-NUMBER".

Hardvan avatar Oct 24 '23 10:10 Hardvan

I have removed the added doctests. Now, there is only one change - the code.

Hardvan avatar Oct 24 '23 11:10 Hardvan

Great. Please open another pull request with the doctests and we can merge that one before this one.

cclauss avatar Oct 24 '23 11:10 cclauss

I have opened the PR #10891 which has the added doctests. Thanks!

Hardvan avatar Oct 24 '23 12:10 Hardvan

OK. Please add the tests that have been merged to master.

  • https://github.com/TheAlgorithms/Python/pull/10891/files

cclauss avatar Oct 24 '23 15:10 cclauss

Added the tests that have been merged to master.

Hardvan avatar Oct 24 '23 15:10 Hardvan

Renamed the variables. Adding strict=True produces this error: TypeError: sort() takes at most 2 keyword arguments (3 given) Edit: Fixed the above error by adding strict=True in the zip function

Hardvan avatar Oct 24 '23 16:10 Hardvan

I'll add the changes tomorrow. Thanks for highlighting the issues.

Hardvan avatar Oct 24 '23 17:10 Hardvan

I have added the input validation check for capacity and max_items variables, and updated the doctests accordingly.

Hardvan avatar Oct 25 '23 13:10 Hardvan

I have corrected the algorithm.

Hardvan avatar Oct 25 '23 14:10 Hardvan