#========================================================== # Solución a todos los ejercios de la sesión de repaso. # 6 de mayo, 2015. #========================================================== #---------------------------------------------------------- # Determina si los parámetros corresponden # a una tripleta pitagórica. Regresa True # en caso afirmativo, o False en caso # contrario. def tripleta(a, b, c): valores = [a, b, c] valores.sort() a = valores[0] b = valores[1] c = valores[2] if (c ** 2 == a ** 2 + b ** 2): return True else: return False #---------------------------------------------------------- def factorial(n): r = 1 for x in range(1, n + 1): r *= x return r #---------------------------------------------------------- def digitaliza(n): r = [] while n > 0: residuo = n % 10 cociente = n // 10 r.append(residuo) n = cociente return r[::-1] #---------------------------------------------------------- def digitaliza_version2(n): s = str(n) r = [] for c in s: r.append(int(c)) return r #---------------------------------------------------------- # Sumatoria de los factoriales de cada # dígito de n. Ejemplo: # sdf(1230) = 1! + 2! + 3! + 0! def sdf(n): a = digitaliza(n) r = 0 for x in a: r += factorial(x) return r #---------------------------------------------------------- # Toma dos números A y B, y genera un # archivo de salida con los siguientes # resultados: # # A + B # A - B # A * B # A // B # A % B def opera(a, b, nombre_archivo): with open(nombre_archivo, 'w') as archivo: archivo.write(str(a + b) + '\n') archivo.write(str(a - b) + '\n') archivo.write(str(a * b) + '\n') archivo.write(str(a // b) + '\n') archivo.write(str(a % b) + '\n') #---------------------------------------------------------- # Toma dos conjuntos y regresa su unión. def union(a, b): r = a[:] # Copia el conjunto a for e in b: if e not in r: r.append(e) return r #---------------------------------------------------------- # Toma dos conjuntos y regresa su intersección. def interseccion(a, b): r = [] for e in a: if e in b: r.append(e) return r #---------------------------------------------------------- # Toma dos conjuntos y regresa su diferencia. def diferencia(a, b): r = [] for e in a: if e not in b: r.append(e) return r