Write a function that takes one argument a positive integer
Write a function that takes one argument, a positive integer n. The function then generates and returns the Collatz sequence starting at n (and ending at 1). The Collatz sequence is a sequence obtained by repeatedly applying the following rule to the previous number in the sequence:
a.If a number is even, then the next number is that number divided by 2. Eg. 10->5
b.If a number is odd, then the next number is 3 times the number plus 1. Eg 5->16
Your function should stop when the sequence gets to 1. Note that it is an open question whether the Collatz sequence for every positive integer always ends at 1. Sample usage:
Solution
def collatz(num):## writing function for generating collatz sequence
 if num % 2 == 0:## if num is even
 return num // 2## return divisible by 2
 elif num % 2 == 1:## if number is odd
 nextNum = 3 * num + 1
 return nextNum## next number is 3 times the number plus 1
resultList=[]; ## initialising Result list
 n = input(\"Give me a number: \") ## taking input from user
 resultList.append(n)## appending number to list
 while n != 1:## running loop till n=1
 n = collatz(int(n))## calling collatz function
 resultList.append(n)## appending result
 print(resultList);## printing Resultlist
   
##Give me a number: 10
 ##[\'10\', 5, 16, 8, 4, 2, 1]
 ##>>> ================================ RESTART ================================
 ##>>>
 ##Give me a number: 22
 ##[\'22\', 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
 ##>>> ================================ RESTART ================================
 ##>>>
 ##Give me a number: 55
 ##[\'55\', 166, 83, 250, 125, 376, 188, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242, 121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350, 175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167, 502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]
 ##>>>

