Skip to content

Commit d8c6ce8

Browse files
authored
11 python codes
1 parent fd99ddb commit d8c6ce8

11 files changed

Lines changed: 300 additions & 0 deletions

Buscador de archivos duplicados.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import os
2+
import hashlib
3+
4+
def calcular_hash( ruta, Tamaño_bloque=65536 ):
5+
hasher = hashlib.sha256()
6+
with open(ruta,'rb') as archivo:
7+
bloque = archivo.read(Tamaño_bloque)
8+
while len(bloque) > 0:
9+
hasher.update(bloque)
10+
bloque = archivo.read(Tamaño_bloque)
11+
return hasher.hexdigest()
12+
13+
def BAD(directorio):
14+
archivos_duplicados = {}
15+
for directrio_raiz, _, archivo in os.walk(directorio):
16+
for nombre_arch in archivo:
17+
ruta = os.path.join(directrio_raiz,nombre_arch)
18+
hash_archivo = calcular_hash(ruta)
19+
if hash_archivo in archivos_duplicados:
20+
archivos_duplicados[hash_archivo].append(ruta)
21+
else:
22+
archivos_duplicados[hash_archivo] = [ruta]
23+
return {hash_archivo: ruta for hash_archivo, ruta in archivos_duplicados.items() if len(ruta) > 1}
24+
25+
directorio = input("Ingrse el directorio: ")
26+
archivos_duplicados = BAD(directorio)
27+
28+
if archivos_duplicados:
29+
print("Archivos duplicados encontrados: ")
30+
for hash_archivo, rutas in archivos_duplicados.items():
31+
print("Hash:",hash_archivo)
32+
for ruta in rutas:
33+
print("-",ruta)
34+
else:
35+
print("No se encontrado archivos duplicados en el directorio")
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
def cal_calor_futuro(inversion_inicial,tasa_interes,periodos):
2+
valor_futuro = inversion_inicial * (1 + tasa_interes / 100) ** periodos
3+
return valor_futuro
4+
5+
inversion_inicial = float(input("Ingrese la cantidad de la inversion inicial: "))
6+
tasa_interes = float(input("Ingrese la tasa de interes anual (%): "))
7+
periodos = int(input("Ingrese el numero de periodos de inversion: "))
8+
9+
valor_futuro = cal_calor_futuro(inversion_inicial,tasa_interes,periodos)
10+
11+
12+
print("Cantidad inicial de inversion:",inversion_inicial,"$")
13+
print("Tasa de interes anual:",tasa_interes,"%")
14+
print("Numero de periodos de inversion:",periodos,"años")
15+
print("El valor futuro de la inversion sera de: ", valor_futuro)

Calculadora de suma.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
3+
print("Porfavor ingrsa el primer digito: ")
4+
Num1 = int(input())
5+
print("Porfavor ingrsa el segundo digito: ")
6+
Num2 = int(input())
7+
8+
print(Num1," + ",Num2," = ",Num1 + Num2)

Calculadora.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import time
2+
3+
def start():
4+
5+
Version = ""
6+
7+
print("Selecciona la version de calculadora que quieres ejecutar...")
8+
9+
print("Versiones disponibes: 0.5")
10+
11+
Version = input("Ingresa la Version: ").strip().lower()
12+
13+
if Version == "0.5":
14+
Cal0_5()
15+
else:
16+
print("esa version no existe")
17+
time.sleep(3)
18+
start()
19+
20+
pass
21+
22+
def Cal0_5():
23+
print("calculadora verison: 0.5")
24+
25+
def procces0_5():
26+
print("¿Que operacion quieres hacer?")
27+
Signo0_5 = input("Ingresa tu signo +,-,* y /: ").strip().lower()
28+
29+
print("Ingresa tu primer digito")
30+
l1Digito0_5 = float(input("Digito: "))
31+
print("Ingresa tu segundo digito")
32+
l2Digito0_5 = float(input("2 Digito: "))
33+
34+
if Signo0_5 == "x" and "X" and "*":
35+
print(l1Digito0_5," ",Signo0_5," ",l2Digito0_5," = ",l1Digito0_5 * l2Digito0_5)
36+
elif Signo0_5 == "-":
37+
print(l1Digito0_5," ",Signo0_5," ",l2Digito0_5," = ",l1Digito0_5 - l2Digito0_5)
38+
elif Signo0_5 == "+":
39+
print(l1Digito0_5," ",Signo0_5," ",l2Digito0_5," = ",l1Digito0_5 + l2Digito0_5)
40+
elif Signo0_5 == "/":
41+
print(l1Digito0_5," ",Signo0_5," ",l2Digito0_5," = ",l1Digito0_5 / l2Digito0_5)
42+
else:
43+
print("operacion no reconocida")
44+
45+
print("Quieres hacer otra operación?")
46+
option = input("Y/y para sí, cualquier otra tecla para no: ").strip().lower()
47+
48+
if option == "Y" and "y":
49+
Cal0_5()
50+
else:
51+
exit()
52+
pass
53+
54+
procces0_5()
55+
56+
57+
58+
59+
start()

Contador de palabras.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
print("Escribe algo: ")
3+
texto = input()
4+
P = texto.split()
5+
CP = len(P)
6+
7+
8+
print('La cantidad de plabras de "',texto,'" es de: ',CP)

Conversor de temperatura.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
def start():
3+
print("¿a que quieres convetir?")
4+
con = input("Celsius(C) o Fahrenheit(F): ")
5+
if con == "C":
6+
ConC()
7+
else:
8+
ConF()
9+
pass
10+
11+
def ConC():
12+
print("Escribe la temperatura Fahrenheit: ")
13+
F = float(input())
14+
15+
C = (F - 32) * 5/9
16+
17+
print("La temperatura de Fahrenheit a Celsius es de: ",C)
18+
pass
19+
20+
def ConF():
21+
print("Escribe la temperatura Celsius: ")
22+
C = float(input())
23+
24+
F = (C * 9/5) + 32
25+
26+
print("La temperatura de Celsius a Fahrenheit es de: ",F)
27+
pass
28+
29+
start()

Generador de contraseñas.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import random
2+
import string
3+
4+
print("Quieres generar una contraseña?")
5+
S = input("Si(S) o No(N): ")
6+
7+
if S == "S" or "s":
8+
print("Pida la longitud deseada para la contraseña: ")
9+
Lon = int(input())
10+
11+
Caract = string.ascii_letters + string.digits + string.punctuation
12+
Contra = ''.join(random.choice(Caract) for _ in range(Lon))
13+
14+
print('Tu contraseña generada es: ',Contra)
15+
else:
16+
exit()

Generador de números primos.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
def primo(num):
2+
if num <= 1:
3+
return False
4+
for i in range(2,int(num**0.5)+1):
5+
if num % i == 0:
6+
return False
7+
return True
8+
9+
def GP(limit_up):
10+
primos = []
11+
for num in range(2,limit_up + 1):
12+
if primo(num):
13+
primos.append(num)
14+
return primos
15+
16+
17+
def main():
18+
print("Generador de números primos")
19+
while True:
20+
try:
21+
limit_up = int(input("Ingresa el limite superior: "))
22+
if limit_up <= 1:
23+
print("Ingresa numero mayor a 1.")
24+
continue
25+
primos = GP(limit_up)
26+
print("Los números primos hasta el límite superior son:", primos)
27+
except ValueError:
28+
print("Por favor ingresa un numero entero.")
29+
continuar = input("¿Deseas generar de nuevo numeros primos hasta el limite superior? (s/n): ")
30+
if continuar != "s":
31+
break
32+
33+
34+
if __name__ == "__main__":
35+
main()

Juego del ahorcado.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import random
2+
3+
Palabras = {
4+
'Maria': ["Empieza con M","Termina con A","Tiene 5 palabras","Es un nombre","En México es común"],
5+
'Angel': ["Empieza con A","Termina con L","Tiene 5 palabras","Es un nombre","En México es común"],
6+
'Conalep': ["Es un nombre de una preparatoria","Pueden encontrarse en México","Empieza con C","Termina con P","Tiene 7 palabras"],
7+
'Carlitos': ["Es alguien que no tiene beca","Es NEGRO!!!","Es de la conalep","Empieza con C","Termina con S","Tiene 8 palabras"],
8+
'Computadora': ["Es un dispositivo","Empieza con C","Termina con A","tiene 11 palabras","Se utiliza en oficinas"],
9+
'Python': ["Es un lenguaje de programación","Empieza con P","Termina con N","Tiene 6 palabras"],
10+
}
11+
12+
def seleccion_palabra_pista(Palabras):
13+
palabra = random.choice(list(Palabras.keys()))
14+
pistas = Palabras[palabra]
15+
return palabra, pistas
16+
17+
def get_pista(pistas):
18+
return random.choice(pistas)
19+
20+
def game(palabra, pistas):
21+
palabra = palabra.lower()
22+
Palabras = list(palabra)
23+
L_P = ['_'] * len(palabra)
24+
intentos = 6
25+
print("Pista:", get_pista(pistas))
26+
while intentos > 0:
27+
print(" ".join(L_P))
28+
letra = input("Adivina la letra: ").lower()
29+
if len(letra) == 1 and letra.isalpha():
30+
if letra in palabra:
31+
print("Correcto!!")
32+
for i in range(len(palabra)):
33+
if palabra[i] == letra:
34+
L_P[i] = letra
35+
if '_' not in L_P:
36+
print("Felicidades, has adivinado la palabara '{}'!".format(palabra))
37+
break
38+
else:
39+
intentos -= 1
40+
print("incorrecto. Te quedan {} intentos.".format(intentos))
41+
if intentos > 0:
42+
print("Nueva pista:", get_pista(pistas))
43+
else:
44+
print("Por favor, ingresa una sola letra.")
45+
if intentos == 0:
46+
print("Game over. La palabra era {}".format(palabra))
47+
48+
palabra, pistas = seleccion_palabra_pista(Palabras)
49+
50+
game(palabra, pistas)

Simulador de dados.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import random
2+
3+
def lanzar(num_dados,lados):
4+
resultados = []
5+
for _ in range(num_dados):
6+
resultado = random.randint(1,lados)
7+
resultados.append(resultado)
8+
return resultados
9+
10+
def main():
11+
print("Simulador de dados")
12+
while True:
13+
try:
14+
num_dados = int(input("Numero de dados: "))
15+
lados = int(input("Cantidad de lados que tendra los dados: "))
16+
if num_dados < 0:
17+
print("Por favor ingrse numeros positivos mayores a 0.")
18+
continue
19+
resultados = lanzar(num_dados,lados)
20+
print("El resultado del lanzamiento es:",resultados)
21+
except ValueError:
22+
print("Por favor ingrese numeros enteros.")
23+
continuar = input("¿Deseas lanzar los dados de nuevo? (s/n): ").lower()
24+
if continuar != "s":
25+
break
26+
27+
if __name__ == "__main__":
28+
main()

0 commit comments

Comments
 (0)