Please written by computer source   CHALLENGE ACTIVITY 3.5.2: Recursive function: Writing the recursive case. Write code to complete factorial_str()'s recursive case. Sample output with input: 5 5! = 5 * 4 * 3 * 2 * 1 = 120 NONE OF THE ANSWERS WORK def factorial_str(fact_counter, fact_value): output_string = '' if fact_counter == 0: # Base case: 0! = 1 output_string += '1' elif fact_counter == 1: # Base case: print 1 and result output_string += str(fact_counter) + ' = ' + str(fact_value) else: # Recursive case output_string += str(fact_counter) + ' * ' next_counter = fact_counter - 1 next_value = next_counter * fact_value output_string += str(fact_counter)+'='+str(fact_value) THIS IS NOT CORRECT return output_string user_val = int(input()) print('{}! = '.format(user_val), end="")   Not all tests passed clearTesting with input: 5 Output differs. See highlights below. Special character legend Your output 5! = 5 * 5=5 Expected output 5! = 5 * 4 * 3 * 2 * 1 = 120 clearTesting with input: 8 Output differs. See highlights below. Special character legend Your output 8! = 8 * 8=8 Expected output 8! = 8 * 7 * 6 * 5 *

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 8SA
icon
Related questions
Question

Please written by computer source

 

CHALLENGE ACTIVITY 3.5.2: Recursive function: Writing the recursive case. Write code to complete factorial_str()'s recursive case. Sample output with input: 5 5! = 5 * 4 * 3 * 2 * 1 = 120 NONE OF THE ANSWERS WORK

def factorial_str(fact_counter, fact_value):
output_string = ''

if fact_counter == 0: # Base case: 0! = 1
output_string += '1'
elif fact_counter == 1: # Base case: print 1 and result
output_string += str(fact_counter) + ' = ' + str(fact_value)
else: # Recursive case
output_string += str(fact_counter) + ' * '
next_counter = fact_counter - 1
next_value = next_counter * fact_value
output_string += str(fact_counter)+'='+str(fact_value) THIS IS NOT CORRECT

return output_string

user_val = int(input())
print('{}! = '.format(user_val), end="")

 

Not all tests passed

clearTesting with input: 5

Output differs. See highlights below. Special character legend

Your output

5! = 5 * 5=5

Expected output

5! = 5 * 4 * 3 * 2 * 1 = 120

clearTesting with input: 8

Output differs. See highlights below. Special character legend

Your output

8! = 8 * 8=8

Expected output

8! = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 = 40320

keyboard_arrow_down

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Declaring and Defining the Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning