Vamos a programar #79 - La conjetura de Collatz (Ver. Python).

Hola de nuevo a todos, el día de hoy vamos a ver un poco más de Python.



En el último post vimos un acercamiento a Python y si bien el blog nunca se ha tratado de "tutoriales" para aprender a programar, mucha gente pidió que adaptara un programa de los que previamente ya habíamos hecho en blog. Ya que solo será la versión adaptada a Python de la conjetura de Collatz, te recomiendo echarle un vistazo a los post que hicimos tanto para Android (Java) cómo para Windows (C#).

Ahora veamos el código que hace funcionar las cosas.

#Prueba de la conjetura de collatz en Python
def IsEven(Number):
	if (Number % 2 == 1):
		return False
	else:
		return True

def CalculateCollatz(Number):
	while Number > 1:
		if (IsEven(Number) == False):
			Number  = Number * 3 + 1
			print(Number)
		else:
			Number = Number / 2
			print(Number)

CalculateCollatz(int(input('Ingresa un numero\n')))
input()

Cómo verás, el programar consta de solo dos funciones; la primera de ellas en orden de aparición es: "IsEven" que recibe un número parámetro y su función es determinar si un número es par o no. Si al hacer la operación "mod" el resultado es uno, eso significa que el número no es par y la funcion devuelve "false" en caso contrario, la función devuelve "true" (que indica que el número es par, valga la redundancia).

La siguiente función es "CalculateCollatz" y tal cómo su nombre lo indica, aqui es en donde se realizan los cálculos y se muestran en pantalla (siguiendo las reglas de la conjetura).

Finalmente solo mandamos a llamar a la función "CalculateCollatz()" que recibirá cómo parámetro un numero que el usuario ingresará.

Y bien, cómo puedes ver, es relativamente fácil portar los programa que ya tenioamos a Python, hay que tomar una cuantas consideraciones en cuanto al lenguaje (en comparación a los otros), pero python resulta realmente poderoso a la hora de escribir un programa. Cómo de costumbre puedes bajar el programa de mi dropbox para que lo pruebes o bien, puedes copiarlo para probarlo en el editor en linea

No hay comentarios.