This commit is contained in:
Ava Gaiety Wroten 2020-09-15 22:12:44 -05:00
parent cddde3aa52
commit a1186d1485
2 changed files with 29 additions and 0 deletions

View file

@ -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
View 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))