Hacktoberfest 2020 - Add typehints and default input for project_euler/problem_25
diff --git a/project_euler/problem_25/sol1.py b/project_euler/problem_25/sol1.py
index f0228915dc15..c30a74a43cb0 100644
--- a/project_euler/problem_25/sol1.py
+++ b/project_euler/problem_25/sol1.py
@@ -25,7 +25,24 @@
 """
 
 
-def fibonacci(n):
+def fibonacci(n: int) -> int:
+    """
+    Computes the Fibonacci number for input n by iterating through n numbers
+    and creating an array of ints using the Fibonacci formula.
+    Returns the nth element of the array.
+
+    >>> fibonacci(2)
+    1
+    >>> fibonacci(3)
+    2
+    >>> fibonacci(5)
+    5
+    >>> fibonacci(10)
+    55
+    >>> fibonacci(12)
+    144
+
+    """
     if n == 1 or type(n) is not int:
         return 0
     elif n == 2:
@@ -38,7 +55,21 @@ def fibonacci(n):
         return sequence[n]
 
 
-def fibonacci_digits_index(n):
+def fibonacci_digits_index(n: int) -> int:
+    """
+    Computes incrementing Fibonacci numbers starting from 3 until the length
+    of the resulting Fibonacci result is the input value n. Returns the term
+    of the Fibonacci sequence where this occurs.
+
+    >>> fibonacci_digits_index(1000)
+    4782
+    >>> fibonacci_digits_index(100)
+    476
+    >>> fibonacci_digits_index(50)
+    237
+    >>> fibonacci_digits_index(3)
+    12
+    """
     digits = 0
     index = 2
 
@@ -49,8 +80,9 @@ def fibonacci_digits_index(n):
     return index
 
 
-def solution(n):
-    """Returns the index of the first term in the Fibonacci sequence to contain
+def solution(n: int = 1000) -> int:
+    """
+    Returns the index of the first term in the Fibonacci sequence to contain
     n digits.
 
     >>> solution(1000)
diff --git a/project_euler/problem_25/sol2.py b/project_euler/problem_25/sol2.py
index c98f09b1d316..ed3b54bb351f 100644
--- a/project_euler/problem_25/sol2.py
+++ b/project_euler/problem_25/sol2.py
@@ -25,14 +25,29 @@
 """
 
 
-def fibonacci_generator():
+def fibonacci_generator() -> int:
+    """
+    A generator that produces numbers in the Fibonacci sequence
+
+    >>> generator = fibonacci_generator()
+    >>> next(generator)
+    1
+    >>> next(generator)
+    2
+    >>> next(generator)
+    3
+    >>> next(generator)
+    5
+    >>> next(generator)
+    8
+    """
     a, b = 0, 1
     while True:
         a, b = b, a + b
         yield b
 
 
-def solution(n):
+def solution(n: int = 1000) -> int:
     """Returns the index of the first term in the Fibonacci sequence to contain
     n digits.
 
diff --git a/project_euler/problem_25/sol3.py b/project_euler/problem_25/sol3.py
index 4a1d9da76bf7..c66411dc55fc 100644
--- a/project_euler/problem_25/sol3.py
+++ b/project_euler/problem_25/sol3.py
@@ -25,7 +25,7 @@
 """
 
 
-def solution(n):
+def solution(n: int = 1000) -> int:
     """Returns the index of the first term in the Fibonacci sequence to contain
     n digits.
 

### **Describe your change:**



* [ ] Add an algorithm?
* [x] Fix a bug or typo in an existing algorithm?
* [ ] Documentation change?

### **Checklist:**
* [x] I have read [CONTRIBUTING.md](https://github.com/TheAlgorithms/Python/blob/master/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.
* [ ] 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](https://docs.python.org/3/library/typing.html).
* [x] All functions have [doctests](https://docs.python.org/3/library/doctest.html) that pass the automated testing.
* [x] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
* [x] If this pull request resolves one or more open issues then the commit message contains `Fixes: #{$ISSUE_NO}`.

Related: #2786 
