This commit is contained in:
Ava Gaiety Wroten 2020-09-15 22:01:07 -05:00
parent 715ae7bf4c
commit cddde3aa52
3 changed files with 35 additions and 5 deletions

16
main.py
View file

@ -7,11 +7,11 @@ def divide_by_two(num): # Take last digit, divide by two only on that
def divide_by_three(num): # Sum each digit in number, then checking that sum is divisible by three
return _sum_digits(num) % 3 == 0
def divide_by_four(num): # If last two digits are divisible by four
if (num < 10): return num % 4 == 0
tens_place = _get_last_digit(num, 2)
def divide_by_four(num): # If last two digits are divisible by four, plus a simplifier of multiplying the tens place by two
if (num <= 10): return num % 4 == 0
tens_place = _get_last_digit(num, 2) * 10
ones_place = _get_last_digit(num)
num_to_check = (tens_place * 10) + ones_place
num_to_check = (tens_place * 2) + ones_place
return num_to_check % 4 == 0
def divide_by_five(num): # If last digit is a zero or a five return true
@ -22,6 +22,14 @@ 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_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
tens_place = _get_last_digit(num, 2) * 10
ones_place = _get_last_digit(num)
num_to_check = (hundreds_place * 4) + (tens_place * 2) + ones_place
return num_to_check % 8 == 0
def divide_by_nine(num): # Same rules as dividing by three, but checking that sum is divisible by nine
return _sum_digits(num) % 9 == 0

22
tests/eight_test.py Normal file
View file

@ -0,0 +1,22 @@
from main import divide_by_eight
import unittest
class TestDivideByEight(unittest.TestCase):
def test_by_1(self):
self.assertFalse(divide_by_eight(1))
def test_by_2(self):
self.assertFalse(divide_by_eight(2))
def test_by_4(self):
self.assertFalse(divide_by_eight(4))
def test_by_8(self):
self.assertTrue(divide_by_eight(8))
def test_by_10(self):
self.assertFalse(divide_by_eight(10))
def test_by_16(self):
self.assertTrue(divide_by_eight(16))
def test_by_100(self):
self.assertFalse(divide_by_eight(100))
def test_by_800(self):
self.assertTrue(divide_by_eight(800))
def test_by_362880(self):
self.assertTrue(divide_by_eight(362880))

View file

@ -1,7 +1,7 @@
from main import divide_by_four
import unittest
class TestDivideByTwo(unittest.TestCase):
class TestDivideByFour(unittest.TestCase):
def test_by_1(self):
self.assertFalse(divide_by_four(1))
def test_by_2(self):