X Tutup
The Wayback Machine - https://web.archive.org/web/20201006213027/https://github.com/TheAlgorithms/Python/pull/2659
Skip to content
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

Fix: Multiple errors in fibonacci search. #2659

Open
wants to merge 6 commits into
base: master
from

Conversation

@NumberPiOso
Copy link
Contributor

@NumberPiOso NumberPiOso commented Oct 2, 2020

  • Test lists were not ordered, this is required for Fibonacci search
  • Place documentation of function inside function
  • Create multiple different tests including, float, char and negatives
  • Add type hints in line with #2128

Describe your change:

  • Fix a bug or typo in an existing algorithm?

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.
NumberPiOso added 2 commits Oct 2, 2020
- Test lists were not ordered, this is required for Fibonacci search
- Place documentation of function inside function
- Create multiple different tests including, float, char and negatives
- Add type hints in line with #2128
searches/fibonacci_search.py Outdated Show resolved Hide resolved
searches/fibonacci_search.py Show resolved Hide resolved
searches/fibonacci_search.py Show resolved Hide resolved
searches/fibonacci_search.py Outdated Show resolved Hide resolved
searches/fibonacci_search.py Outdated Show resolved Hide resolved
searches/fibonacci_search.py Outdated Show resolved Hide resolved
NumberPiOso and others added 4 commits Oct 4, 2020
Co-authored-by: Dhruv <dhruvmanila@gmail.com>
@NumberPiOso NumberPiOso requested a review from dhruvmanila Oct 5, 2020
@NumberPiOso
Copy link
Contributor Author

@NumberPiOso NumberPiOso commented Oct 6, 2020

I think we are done here. Are not we?

"""
>>> fibonacci_search([1,6,7,0,0,0], 6)
if not isinstance(k, int):
raise ValueError("k must be an integer.")

This comment has been minimized.

@dhruvmanila

dhruvmanila Oct 6, 2020
Member

Suggested change
raise ValueError("k must be an integer.")
raise TypeError("k must be an integer.")

As the user entered the wrong type.

return -1
n = len(arr)
# Find m such that F_m >= n where F_i is the i_th fibonacci number.
m = next(x for x in range(sys.maxsize ** 10) if fibonacci(x) >= n)

This comment has been minimized.

@dhruvmanila

dhruvmanila Oct 6, 2020
Member

sys.maxsize is already a huge number. Can you tell me why is this necessary?
And please use descriptive variable names instead of the single letter names as mentioned in CONTRIBUTING.md. Apply the changes wherever the variables were used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.
X Tutup