By seven
This commit is contained in:
parent
cddde3aa52
commit
a1186d1485
2 changed files with 29 additions and 0 deletions
7
main.py
7
main.py
|
@ -22,6 +22,13 @@ def divide_by_six(num): # Same rules as dividing by three, and ensure original n
|
|||
num_sum = _sum_digits(num)
|
||||
return num_sum % 3 == 0 and divide_by_two(num)
|
||||
|
||||
def divide_by_seven(num): # Multiply last digit by five then add unused digits to result, dividing the result by seven.
|
||||
if (num <= 100): return num % 7 == 0
|
||||
num_as_string = f"{num}"
|
||||
ones_place = _get_last_digit(num) * 5
|
||||
num_to_check = int(f"{num_as_string[:-1]}{ones_place}")
|
||||
return num_to_check % 7 == 0
|
||||
|
||||
def divide_by_eight(num): # Same rules as dividing by four, but for last three digits
|
||||
if (num <= 100): return num % 8 == 0
|
||||
hundreds_place = _get_last_digit(num, 3) * 100
|
||||
|
|
22
tests/seven_test.py
Normal file
22
tests/seven_test.py
Normal file
|
@ -0,0 +1,22 @@
|
|||
from main import divide_by_seven
|
||||
import unittest
|
||||
|
||||
class TestDivideBySeven(unittest.TestCase):
|
||||
def test_by_1(self):
|
||||
self.assertFalse(divide_by_seven(1))
|
||||
def test_by_2(self):
|
||||
self.assertFalse(divide_by_seven(2))
|
||||
def test_by_3(self):
|
||||
self.assertFalse(divide_by_seven(3))
|
||||
def test_by_7(self):
|
||||
self.assertTrue(divide_by_seven(7))
|
||||
def test_by_14(self):
|
||||
self.assertTrue(divide_by_seven(14))
|
||||
def test_by_700(self):
|
||||
self.assertTrue(divide_by_seven(700))
|
||||
def test_by_701(self):
|
||||
self.assertFalse(divide_by_seven(701))
|
||||
def test_by_7000(self):
|
||||
self.assertTrue(divide_by_seven(7000))
|
||||
def test_by_362880(self):
|
||||
self.assertTrue(divide_by_seven(362880))
|
Loading…
Add table
Reference in a new issue