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
Code:
x = int(input('Enter initial value: '))
count = 0
if(x<1):
print('Error')
exit()
print('Initial value is: ',x,' ',end='')
while(x!=1):
if(x%2==0):
x=x/2
else:
x=3*x+1
count+=1
if(x!=1):
print('Next value is: ',int(x),' ',end='')
else:
print('Final value ',int(x),', ',end='')
print('number of operations performed ',int(count),'
',end='')
break
Output:
Hope this helps.
Get Answers For Free
Most questions answered within 1 hours.