In: Computer Science
(using for loop, parameters, if, else condition only )Python: Write a program that prompts the user to enter a positive integer value, and compute the following sequence: • If the value is even, halve it. • If it's odd, multiply by 3 and add 1. • Repeat this process until the value is 1, printing out each value. • Then print out how many of these operations you performed. If the input value is less than 1, print a message containing the word Error and exit the program. assume that the input will have smaller than 200 operations. This is how the output should look like: Initial value is: 9 Next value is: 28 Next value is: 14 Next value is: 7 Next value is: 22 Next value is: 11 Next value is: 34 Next value is: 17 Next value is: 52 Next value is: 26 Next value is: 13 Next value is: 40 Next value is: 20 Next value is: 10 Next value is: 5 Next value is: 16 Next value is: 8 Next value is: 4 Next value is: 2 Final value 1, number of operations performed 19
Python code:
#accepting initial value
num=int(input("Initial value is: "))
#setting number of operations performed as 0
count=0
#checking if num is less than 1
if(num<1):
#printing Error
print("Error")
else:
#looping till num is 1
while(num!=1):
#checking if num is even
if(num%2==0):
#dividing it by 2
num/=2
#printing next value
print("Next value is:",num)
#incrementing count
count+=1
else:
#multiplying num by 3 and adding 1
num=num*3+1
#printing next value
print("Next value is:",num)
#incrementing count
count+=1
#printing Final value and number of operations
print("Final value 1, number of operations performed",count)
Screenshot:
Input and Output: