Skip to content

Commit b69b07d

Browse files
authored
feat: adds Evander's code samples (#140)
1 parent 70b4fc5 commit b69b07d

File tree

3 files changed

+121
-0
lines changed

3 files changed

+121
-0
lines changed

lesson_04/evanderblue/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
## Python Implementation
2+
```python
3+
def is_prime(number):
4+
if number < 2:
5+
return False
6+
for i in range(2, int(number**0.5) + 1):
7+
if number % i == 0:
8+
return False
9+
return True
10+
11+
# Example usage
12+
print(is_prime(5)) # Output is True
13+
print(is_prime(8)) # Output is False
14+
print(is_prime(35)) # Output is True
15+
```
16+
## Javascript Implementation
17+
```javascript
18+
function isprime(num) {
19+
if (num <= 1) return false;
20+
for (let i = 2; i < num; i++) {
21+
if (num % i === 0) return false;
22+
}
23+
return true;
24+
}
25+
26+
// Example usage
27+
console.log(isprime(11)); // Output is true
28+
console.log(isprime(54)); // Output is false
29+
console.log(isprime(66)); // Output is false
30+
console.log(isprime(77)); // Output is false
31+
```
32+
## Explanation
33+
34+
The Python implementation uses a function called `is_prime`. It takes a single `number` argument and returns `True` if the `number` is a prime number. It runs through an `if` statement that checks if the `number` is less than 1. Then it goes through a `for loop` that incrimentally goes through a range of numbers starting from 2 to sqaure root of `number`. Nested inside that `for loop` is an `if` statement that checks if the `number` can is divisble by `i` evenly.
35+
36+
The JavaScript implementation uses a function called `isprime`. It takes a single `num` parameter and returns `true` if the `num` is a prime number. It runs through an `if` statement that checks if the `num` is less than or equal to 1. Then it goes through a `for loop` that incrementally goes through a `range` of numbers starting from 2 up to `num`. Nested inside the `for loop` is another `if` statement that checks if the `num` is divisible by `i` evenly.
37+
38+
### Differences
39+
**Syntax**:
40+
41+
In Python, functions use the `def` keyword. In JavaScript, the `function` keyword is used.
42+
Python uses `True` and `False` for boolean values, while JavaScript uses `true` and `false`.
43+
44+
**Type Coercion**:
45+
46+
Python almost never changes types automatically — JavaScript automatically converts types in many situations.
47+
48+
**Keywords**:
49+
50+
Python doesn't have a `let` keyword. Javascript has a `let` keyword that declares variables.
51+
52+

lesson_04/evanderblue/prime_num.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
function isprime(num) {
2+
if (num <= 1) return false;
3+
for (let i = 2; i < num; i++) {
4+
if (num % i === 0) return false;
5+
}
6+
return true;
7+
}
8+
9+
// Unit Test Function
10+
function testIsPrime() {
11+
const testCases = [
12+
{ input: 2, expected: true, description: "2 is prime" },
13+
{ input: 3, expected: true, description: "3 is prime" },
14+
{ input: 4, expected: false, description: "4 is not prime" },
15+
{ input: 5, expected: true, description: "5 is prime" },
16+
{ input: 11, expected: true, description: "11 is prime" },
17+
{ input: 15, expected: false, description: "15 is not prime" },
18+
{ input: 17, expected: true, description: "17 is prime" },
19+
{ input: 1, expected: false, description: "1 is not prime" },
20+
{ input: 0, expected: false, description: "0 is not prime" },
21+
{ input: -5, expected: false, description: "negative numbers are not prime" }
22+
];
23+
24+
let passed = 0;
25+
let failed = 0;
26+
27+
console.log("Running Unit Tests for isprime()...\n");
28+
29+
testCases.forEach(test => {
30+
const result = isprime(test.input);
31+
if (result === test.expected) {
32+
console.log(`✓ PASS: ${test.description} - isprime(${test.input}) = ${result}`);
33+
passed++;
34+
} else {
35+
console.log(`✗ FAIL: ${test.description} - isprime(${test.input}) = ${result}, expected ${test.expected}`);
36+
failed++;
37+
}
38+
});
39+
40+
console.log(`\nTest Results: ${passed} passed, ${failed} failed\n`);
41+
}
42+
43+
// Run the unit test
44+
testIsPrime();
45+
46+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import unittest
2+
3+
def is_prime(number):
4+
if number < 2:
5+
return False
6+
for i in range(2, int(number**0.5) + 1):
7+
if number % i == 0:
8+
return False
9+
return True
10+
11+
class TestPrimeFunction(unittest.TestCase):
12+
13+
def test_range_1_to_30(self):
14+
#Test numbers from 1 to 30 and display results
15+
print("\nTesting range 1 to 30:")
16+
for num in range(1, 31):
17+
result = is_prime(num)
18+
print(f"is_prime({num}) = {result}")
19+
20+
self.assertIsInstance(result, bool) # Should return True or False
21+
22+
if __name__ == '__main__':
23+
unittest.main()

0 commit comments

Comments
 (0)