Contador de palabras – #WSQ12

Aquí es cuando comenzamos a usar Python para cosas más interesantes y útiles en el mundo real. El problema a resolver en este #WSQ es indicarle a Python el nombre de un archivo, dejar que lo abra y posteriormente que busque cierta palabra dentro de el. Impresionante, ¿No es así?

palabras 1

Para resolver esta tarea Ken nos indicó un link que fue de muchísima ayuda, aunque si soy sincero, tengo que decir que mejor me vi el tutorial en Lynda.com ya que al ser más visuales hacen las cosas mucho más fáciles. Lamentablemente, sólo estaba disponible un tutorial orientado a Java pero me fue más que suficiente para poder aplicarlo a Python.

El código resultó en:

fname = input("Por favor, escribe el nombre del archivo que quieres buscar: ")
word = input("Exactamente, ¿Qué palabra estás buscando?: ").lower()
lower_case_word = word.lower()


def Counter(lower_case_word, fname):
counter = 0
with open(fname) as openfile:
for line in openfile:
line = line.lower()
counter += line.count(lower_case_word)
return(counter)

print("El numero total de la palabra " + str(word) + " en el archivo " + str(fname) + " es: " + str(Counter(lower_case_word, fname)))

Como siempre, si tienes alguna duda siempre puedes dejar un comentario o bien, checar mi código en Github, ahí está actualmente todo lo que hago. ¡Harías bien en darle un vistazo!

 

 

Euclids on the block! #Quiz6

Euclides es como mi dignidad, yo aseguro que existe pero nadie está de acuerdo con eso. Al igual que lo anterior dicho, la ente simplemente no puede ponerse de acuerdo sobre si Euclides existió o no, lo que no se puede negar ni de broma, es la utilidad de su algoritmo es la geometría.

Euclid_o_24537

Esta es la mejor imagen que pude encontrar.

El código resultó ser muy sencillo, creo que ha sido el más corto de todos pues la salida del programa sólo tenía que ser el MCD (máximo común divisor) y la función principal era portar el algoritmo de Euclides hacia el lenguaje de programación, el cual resultó en esto:

# --------------------- Este es el código correspondiente al Quiz 6 ----------------------------
def ade(a, b):
if a > b:
c = a - b
ade(b, c)
elif a < b:
c = b - a
ade(a, c)
else:
print(a)

ade(a=int(input("Vamos, introduce el primer número: ")), b=int(input("Ahora introduce el segundo número: ")))

Como siempre, mi código en Github está aquí.

 

Neil, an Alien #Quiz5

Este Quiz en especial fue uno de los más divertidos ya que encontré una imagen en Google me dio muchísima ternura y es la siguiente:

714e13b6-07eb-4ff2-9311-7cb8db52dd88

Cásate conmigo, Internet.

Si soy honesto, este Quiz me dió un poco de batalla, es decir… No fui capaz de resolverlo en clase y tuve que recurrir a la pagina de StackOverflow por enésima vez en el curso, pero al final de todo creo que fue la mejor idea que se me pudo haber ocurrido. Y mi código quedó de la siguiente manera:


# ------------------- Primera parte del código -------------------

def is_palindrome(word):
 mi = word.lower()
 temp = mi.replace(' ', '')
 if temp == temp[::-1]:
 print("¡Esta palabra es un palíndromo!")
 else:
 print("Lo sentimos, esto no es un palíndromo :(")

is_palindrome(word=str(input("Introduce una palabra para revisar si es un palíndromo o no: ")))

# ------------------- Segunda parte del código -------------------

lista_cool = int(input("Ingresa datos a esta lista (<=0 para terminar): "))
ins = []
while lista_cool > 0:
ins.append(lista_cool)
lista_cool = int(input("Ingresa datos a esta lista (<=0 para terminar): "))

print("Esta es la lista con los datos que introdujiste: ", ins)


def find_threes(x):
div = []
for i in x:
if i % 3 == 0:
div.append(i)
sum = 0
for i in range(0, len(div)):
sum = sum + div[i]
print("Estos son los números divisibles entre 3 de tu lista: ", div)
print("Y esta es la suma los numeros divisibles entre 3: ", sum)

find_threes(ins)

Aquí esta, como siempre, mi código en Github, dénse.

cara_enojada_emoji_pegatina_redonda-r064e88c660674edd9cc4110375f13d6d_v9waf_8byvr_324

Hey Ken, quiero mis puntos extra.

¡Fibonacci! #Quiz3

Hola de nuevo, y creo que después de mucho tiempo voy a postear de nuevo y esto se debe a que… ¡Me di cuenta que los Quizes también se deben de postear! Imaginarán mi cara cuando me di cuenta de esto, pero en fin, los códigos siempre estuvieron en mi Github así que esto es puro trámite, a continuación explicaré de lo que va cada parte de mi código.

portada-49

Sí, esta sucesión está en todos lados.

1: Esta parte del código tiene debe de tener dentro de él una función, dicha función deberá de calcular la distancia que existe entre 2 puntos en un plano X, Y y constó de lo siguiente:

# Este código te ayudará a encontrar la distancia entre 2 puntos y también te ayudará a encontrar la sucesión de números Fibonacci.

import math # Este módulo permite usar math.sqrt.

# ------------------- Primera parte del código -------------------

def distancia(x1, x2, y1, y2):
 d = math.sqrt(((x2 - x1)**2)+((y2 - y1)**2))
 print("La distancia es 5 unidades", d)

distancia(x1=int(input("Inserta el valor para x1: ")), y1=int(input("Inserta el valor para y1: ")),
x2=int(input("Inserta el valor para x2: ")), y2=int(input("Inserta el valor para y2: ")))

2: Esta parte de mi código se encarga de calcular una famosa sucesión en todo el universo, y además, creo que también es uno de los códigos más populares debido a que todos los maestros siempre se encargan de dejarlos en cualquier curso de programación. De cualquier modo, este es mi código:

 

# --------------------- Segunda parte del código -----------------

fi = 1.618033988749895


def fibonacci(n):
fibnum = (fi ** n - (1 - fi) ** n) / math.sqrt(5)
print("El resultado es", round(fibnum))

fibonacci(n=int(input("Introduce el número hasta el cuál quieres que llegue la serie Fibonacci: ")))

Este ha sido de lejos, uno de los Quizes más fáciles. A

Continue reading “¡Fibonacci! #Quiz3”

LychreL…?! ¡Cheryl! – #WQS11

El amor nos hace hacer cosas estúpidas, a algunos los incita a comprar más de un centenar de flores, a soportar el frío más intenso pero muy por encima de todos nosotros, Wade VanLandingham decidió nombrar así a un puñado de números de los cuales se tiene la sospecha que existen pero que hasta el momento su existencia no ha sido demostrada.

449px-California_196.svg

Ojalá hubiera una imagen mejor de un 196…

Un número de Lychrel va exactamente de lo siguiente:

Un número de Lychrel es un número natural que no puede formar un palíndromo a través del proceso iterativo repetitivo de invertir sus dígitos y sumar los números resultantes. Este proceso es a veces llamado algoritmo-196 (en inglés 196-algorithm), a raíz del número más famoso asociado con el proceso. En base decimal, no ha sido demostrado que los números de Lychrel existan, pero algunos, incluyendo el 196, son sospechosos por motivos estadísticos y de heurística. El nombre «Lychrel» fue acuñado por Wade VanLandingham como un anagrama aproximado de Cheryl, el nombre de su novia.

Con información de Wikipedia.

En mi opinión personal, creo que este es el código más difícil al que nuestro maestro nos ha sometido pues he tardado al menos 3 días enteros pensando en como resolverlo y al fin, este es mi código:

# Este programa te ayudará a encontrar los números Lychrel que probablemente existan en un rango determinado por tí.

def inverse(x):
x = str(x)
x = x[::-1]
x = int(x)
return x

numbers = []
lychrel = []
x = int(input(&quot;Ingresa el número del cual quieres comenzar a evaluar: &quot;))
x1 = int(input(&quot;Ingresa el número hasta el cual quieres evaluar: &quot;))
print(&quot;El rango de número que vamos a analizar es de %s a %s&quot; % (x, x1))
for i in range(x1-x+1):
numbers.append(x)
x = (x 
Sin título
Continue reading "LychreL…?! ¡Cheryl! – #WQS11"

¡Que empiece la función! #WSQ08

Cabe destacar que este código lo realicé después de haber hecho el Quiz #2 así que tuve que aprender a estructurar funciones por las malas. Este código hace lo exactamente lo mismo que uno anterior que ya habíamos hecho, pero la diferencia es que el código y las funciones utilizadas están implícitas en funciones. Esto me hace darme cuenta que en Python hay un mundo de posibilidades de hacer las cosas, sin duda este lenguaje es más que versátil. A continuación anexo mi código y claro, más abajo les dejo un link con el mismo:

wqs08

Aquí les dejo la consola con mi código funcionando perfectamente:

saaaaa.png

Y aquí les anexo mi código:

Python.svg