Answer to Question #241962 in Python for Nana

Question #241962
  1. Does the submission include the is_divisible function from Section 6.4 of the textbook?
  2. Does the submission implement an is_power function that takes two arguments?
  3. Does the is_power function call is_divisible?
  4. Does the is_power function call itself recursively?
  5. Does the is_power function include code for the base case of the two arguments being equal?
  6. Does the is_power function include code for the base case of the two arguments being equal?
  7. Does the is_power function include code for the base case of the second argument being "1"?
  8. Does the submission include correct output for the five test cases?
1
Expert's answer
2021-09-25T10:02:53-0400
def is_power(a,b):
   '''
   A number, a, is a power of b if it is divisible by b and a/b is a power of b.
   '''
   assert type(a) == int and type(b) == int and a > 0 and b > 0,\
       "is_power(a,b): both arguments must be positive integers"
   # 1st base case:
   # A number, a, is a power of b if both of them (a and b) are equal
   # N.B. The only positive integer that is a power of "1" is "1" itself,
   if a == b:
       result = True
   # 2nd base case:
   # There is no any positive integer that is a power of "1", except the "1"
   # itself, i.e., when b equals 1
   elif b == 1:
       result = False
   else:
       result = is_divisible(a,b) and is_power(a//b, b)
   assert type(result) == bool,\
       "is_power(a,b): the return result must be type of boolean"
   return result

def is_divisible(x, y):
   return x % y == 0

print("is_power(10, 2) returns: ", is_power(10, 2))
print("is_power(27, 3) returns: ", is_power(27, 3))
print("is_power(1, 1) returns: ", is_power(1, 1))
print("is_power(10, 1) returns: ", is_power(10, 1))
print("is_power(3, 3) returns: ", is_power(3, 3))
print("is_power(121, 11) returns: ", is_power(121, 11))

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS