Ejercicio 3

This commit is contained in:
perro tuerto 2023-02-16 14:51:26 -08:00
parent bf2ce70fba
commit 7bbe739561
1 changed files with 42 additions and 0 deletions

42
exercises/ex03/ex03.py Normal file
View File

@ -0,0 +1,42 @@
"""
# collatz()
Write a function named collatz() that has one parameter named number. If
number is even, then collatz() should print number / 2 and return this value.
If number is odd, then collatz() should print and return 3 * number + 1.
Then write a program that lets the user type in an integer and that
keeps calling collatz() on that number until the function returns the value 1.
(Amazingly enough, this sequence actually works for any integersooner or
later, using this sequence, youll arrive at 1! Even mathematicians arent sure
why. Your program is exploring whats called the Collatz sequence, sometimes
called the simplest impossible math problem.)
"""
import time
def collatz(number):
if number % 2 == 0:
res = int(number / 2)
else:
res = 3 * number + 1
print(res)
return res
def cli():
print("Ingresa un número entero:", end=" ")
number = input()
try:
number = int(number)
wait = 0.1 / len(str(number))
while number != 1:
number = collatz(number)
time.sleep(wait)
except ValueError:
print(f"¡'{number}' no es un número entero!")
cli()
cli()