Serie 2 EDA I Alumno: Leon Gallardo Ian Yael: 1. Usando Python Programar: A. Determinar Si Un Número Es Primo
Serie 2 EDA I Alumno: Leon Gallardo Ian Yael: 1. Usando Python Programar: A. Determinar Si Un Número Es Primo
def primo(x):
if x<2:
return False
for i in range(2,x):
if(x % i == 0):
return False
return True
b. Factorial de un numero
def factorial(x):
if(x<=1):
return 1
else:
return(x*factorial(x-1))
c. Promedio de n calificaciones
n=int(input("ingrese cuantas calificaciones quiere promediar: "))
suma=0.0
for i in range(1,n+1):
x=float(input(f"ingrese la calificacion {i}: "))
suma=suma+x
promedio=suma/n
print("su promedio es:",promedio)
print("Convertidor de Unidades")
print("1. Milimetro")
print("2. Centimetros")
print("3. Metro")
print("4. Kilometro")
a=int(input("Ingrese la unidad: "))
x=float(input("ingrese la cantidad: "))
b=int(input("Ingrese la unidad a la que quiere convertir: "))
if a == 1 and b == 2:
print(f"{x} milimetros son {x/10} centimetros")
elif a == 1 and b == 3:
print(f"{x} milimetros son {x/1000} metros")
elif a == 1 and b == 4:
print(f"{x} milimetros son {x/1000000} kilometros")
elif a == 2 and b == 1:
print(f"{x} centimetros son {x*1000} milimetros")
elif a == 2 and b == 3:
print(f"{x} centimetros son {x/100} metros")
elif a == 2 and b == 4:
print(f"{x} centimetros son {x/100000} kilometros")
elif a == 3 and b == 1:
print(f"{x} metros son {x*1000} milimetros")
elif a == 3 and b == 2:
print(f"{x} metros son {x*100} centimetros")
elif a == 3 and b == 4:
print(f"{x} metros son {x/1000} kilometros")
elif a == 4 and b == 1:
print(f"{x} kilometros son {x*1000000} milimetros")
elif a == 4 and b == 2:
print(f"{x} kilometros son {x*100000} centimetros")
elif a == 4 and b == 3:
print(f"{x} kilometros son {x*1000} metros")
g. Calculadora de matrices
import numpy as np
print("Calculadora de Matrices\n")
print("\nMatriz A")
for i in range(0,n):
for j in range(0,n):
x=int(input(f"ingrese el valor en la posicion [{i},{j}]: "))
matrizA[i][j]=x
print("\nMatriz B")
for i in range(0,n):
for j in range(0,n):
y=int(input(f"ingrese el valor en la posicion [{i},{j}]: "))
matrizB[i][j]=y
print("\n+ = Suma")
print("- = Resta")
print("* = Multiplicacion")
print("/ = Division")
operacion=input("Ingrese el operador de la operacion que desea hacer: ")
if operacion == "+":
print("resultado de la suma:\n")
print(np.add(matrizA,matrizB))
elif operacion == "-":
print("resultado de la resta:\n")
print(np.subtract(matrizA,matrizB))
elif operacion == "*":
print("resultado de la multiplicacion:\n")
print(np.dot(matrizA,matrizB))
elif operacion == "/":
print("resultado de la division:\n")
print(np.divide(matrizA,matrizB))
else:
print("Operacion no valida")
h. Agenda, usando diccionario
usuarios = {
"nombres": [],
"telefonos": [],
"ciudad":[],
"calle":[]
}
x=int(input("Cuantas contactos ingresaras? "))
for i in range(x):
print("Ingrese los datos de la persona", i + 1)
nombre = input("Nombre: ")
telefono = int(input("Telefono: "))
ciudad = input("Ciudad: ")
calle = input("Calle: ")
usuarios["nombres"].append(nombre)
usuarios["telefonos"].append(telefono)
usuarios["ciudad"].append(ciudad)
usuarios["calle"].append(calle)
import random
n = 13
m = 20
for i in range(m):
print("\n")
for j in range(n):
print(f[i][j], end ="\t")
print("\n\n")
for i in range(m):
print("\n")
for j in range(n):
print(f[i][j], end ="\t")
j. Llenar una lista con 100 números aleatorios pedirle al usuario un número y decirle en que posiciones se
encuentra
import random
x=0
for i in range(0,100):
if A[i]==numero:
print(f"Tu número se encuentra en la posicion: {i}")
x=x+1
if x==0:
print("En la lista no se encontro tu numero")
k. Ordenar una lista, llenada de manera aleatoria de tamaño 100, entre el 0 y el 100 de mayor a menor
import random
print("\nLista Generada:")
print(A,"\n")
for i in range(len(A)):
for j in range(len(A)-1-i):
if A[j] < A[j+1]:
A[j], A[j+1] = A[j+1], A[j]
print("\nLista Ordenada:")
print(A,"\n")
l. Obtener la media mediana y moda de una lista con 100 números aleatorios entre el 20 y el 30
import random
import statistics
print("\nLista Generada:")
print(A,"\n")
for i in range(len(A)):
for j in range(len(A)-1-i):
if A[j] > A[j+1]:
A[j], A[j+1] = A[j+1], A[j]
for i in range(len(A)):
suma=suma+A[i]
promedio=suma/len(A)
print("promedio:",promedio)
if len(A)%2==0:
mediana=(A[int(len(A)/2)]+A[int((len(A)/2))])/2
else:
mediana=A[int(len(A)/2)]
print("mediana:",mediana)
moda=statistics.mode(A)
print("moda:",moda)
2. Implementar la serie de Fibonacci hasta n dado por el usuario, usando top down
if n==1:
print(a)
elif n>1:
print(aux,aux+1,end=" ")
for i in range(n-2):
aux=a+b
print(aux,end=" ")
a=b
b=aux
else:
print("numero no valido")
3. Hacer un arreglo de tamaño grande (más de 100 mil) con el método de la burbuja
import random
A=[random.randint(0,200) for i in range(100000)]
for i in range(len(A)):
for j in range(len(A)-1-i):
if A[j] > A[j+1]:
A[j], A[j+1] = A[j+1], A[j]
print("\nLista Ordenada:")
print(A,"\n")
4. Ordenar un arreglo de tamaño grande (más de 100 mil) con el método de Quicksort
import random
for i in range(50000):
for j in range(50000):
if A[i] < A[j]:
A[i], A[j] = A[j], A[i]
for i in range(50000,len(A)):
for j in range(50000,len(A)):
if A[i] < A[j]:
A[i], A[j] = A[j], A[i]
for i in range(len(A)):
for j in range(len(A)-1-i):
if A[j] > A[j+1]:
A[j], A[j+1] = A[j+1], A[j]
print("Arreglo ordenado:\n",A)
5. Obtener las posibles combinaciones de placas vehiculares en el formato (letraletraletra-numnum), usando fuerza
bruta
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char aux []="ZZZ9";
char placa[7];
for(int i=65; i<=90;i++)
for(int j=65; j<=90;j++)
for(int k=65; k<=90;k++)
for(int l=48; l<=57;l++)
for(int m=48; m<=57;m++){
placa[0]=i;
placa[1]=j;
placa[2]=k;
placa[3]=l;
placa[4]=m;
printf("%s\n",placa);
if(strcmp(aux, placa)==0){
printf("Se han generado todas las combinaciones con exito:)");
}
}
}
6. Implementar los siguientes programas usando recursividad
def factorial(n):
if n==1:
return 1
else:
return n*factorial(n-1)
def palindromo(x):
if len(x) == 1:
return True
if x[0] != x[-1]:
return False
return palindromo(x[1:-1])
def potencia(x,y):
if y==0:
return 1
if n % divisor == 0:
sumaDivisores = sumaDivisores + divisor