0% encontró este documento útil (0 votos)
75 vistas15 páginas

Serie 2 EDA I Alumno: Leon Gallardo Ian Yael: 1. Usando Python Programar: A. Determinar Si Un Número Es Primo

El documento presenta 10 programas en Python con diferentes funciones y algoritmos, incluyendo: determinar si un número es primo; calcular factorial de un número; obtener promedio de calificaciones; implementar calculadoras para números reales, complejos y de conversiones de unidades; simular el juego del melate 100 veces; ordenar y analizar listas; implementar serie de Fibonacci y generar placas vehiculares. Los programas utilizan conceptos como funciones, ciclos, condicionales, listas, diccionarios y recursividad.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas15 páginas

Serie 2 EDA I Alumno: Leon Gallardo Ian Yael: 1. Usando Python Programar: A. Determinar Si Un Número Es Primo

El documento presenta 10 programas en Python con diferentes funciones y algoritmos, incluyendo: determinar si un número es primo; calcular factorial de un número; obtener promedio de calificaciones; implementar calculadoras para números reales, complejos y de conversiones de unidades; simular el juego del melate 100 veces; ordenar y analizar listas; implementar serie de Fibonacci y generar placas vehiculares. Los programas utilizan conceptos como funciones, ciclos, condicionales, listas, diccionarios y recursividad.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

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

x=int(input("ingresa un numero y te dire si es primo: "))


if primo(x)==True:
print(x,"es número primo")
else:
print(x,"no es número primo")

b. Factorial de un numero

def factorial(x):
if(x<=1):
return 1
else:
return(x*factorial(x-1))

n=int(input("\nIngrese el número del que quiera el factorial: "))


print("El Factorial es: ",factorial(n))

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)

d. Calculadora de números flotantes

print("Calculadora de Numeros Reales")


print("1. Suma")
print("2. Resta")
print("3. Multiplicacion")
print("4. Division")
operacion=int(input("Que operacion desea realizar? "))
a=float(input("Ingrese su primer valor: "))
b=float(input("Ingrese su segundo valor: "))
if operacion == 1:
print("Resultado de la suma:",a+b)
elif operacion == 2:
print("Resultado de la resta:",a-b)
elif operacion == 3:
print("Resultado de la multiplicacion:",a*b)
elif operacion == 4:
print("Resultado de la division:",a/b)
else:
print("operacion no valida")
e. Calculadora de números complejos

print("Calculadora de Numeros Complejos")


print("1. Suma")
print("2. Resta")
print("3. Multiplicacion")
print("4. Division")
operacion=int(input("Que operacion desea realizar? "))
print("ingrese sus valores de esta forma -> a + bj, donde a es la parte real y b la
imaginaria, es indispensable que la parte imaginaria la acompañe de la letra j (1 + 2j)")
a=complex(input("Ingrese su primer valor: "))
b=complex(input("Ingrese su segundo valor: "))
if operacion == 1:
print("Resultado de la suma:",a+b)
elif operacion == 2:
print("Resultado de la resta:",a-b)
elif operacion == 3:
print("Resultado de la multiplicacion:",a*b)
elif operacion == 4:
print("Resultado de la division:",a/b)
else:
print("operacion no valida")
f. Convertidor de unidades

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")

n=int(input("ingrese el tamaño de las matrices de nxn: "))


matrizA=[[1 for j in range(0,n)] for i in range(0,n)]
matrizB=[[1 for j in range(0,n)] for i in range(0,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)

print("\nTus contactos son:")


for i in range(x):
print("\n")
print("Nombre:", usuarios["nombres"][i])
print("Telefono:", usuarios["telefonos"][i])
print("Ciudad:", usuarios["ciudad"][i])
print("Calle:", usuarios["calle"][i])

i. Simular el juego 100 veces del melate usando listas

import random

n = 13
m = 20

f = [[random.randint(1,69) for j in range(n)] for i in range(m)]

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

A=[random.randint(0,100) for i in range(100)]


numero=int(input("Ingresa un numero entre 1 al 100: "))
print("\n",A,"\n")

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

A=[random.randint(0,100) for i in range(100)]

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

A=[random.randint(20,30) for i in range(100)]


suma=0.0

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

n=int(input("Cuantos valores quiere de la serie de Fibonacci? "))


aux=0
a=0
b=1

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

A=[random.randint(0,200) for i in range(100000)]

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

a. Obtener la factorial de un número

def factorial(n):
if n==1:
return 1
else:
return n*factorial(n-1)

n=int(input("\nIngrese el numero del que quiera el factorial: "))


print(f"El factorial de {n} es: {factorial(n)}\n")

b. Determinar si una cadena es palíndromo o no

def palindromo(x):
if len(x) == 1:
return True

if x[0] != x[-1]:
return False

return palindromo(x[1:-1])

x=str(input("\nIngrese una palabra para verificar si es un palindromo: "))


if palindromo(x) == True:
print("La palabra {} es un palindromo\n".format(x))
else:
print("La palabra {} no es un palindromo\n".format(x))

c. Obtener la n-ésima potencia de un número x

def potencia(x,y):
if y==0:
return 1

return x*potencia(x, y-1)

n=int(input("Ingrese el numero: "))


m=int(input("Ingrese la potencia:"))
print(f"{n} a la {m} = {potencia(n, m)}")
d. Averiguar si un número es perfecto

def numeroPerfecto(n, divisor=1, sumaDivisores=0):


if divisor > (n / 2):
return sumaDivisores == n

if n % divisor == 0:
sumaDivisores = sumaDivisores + divisor

return numeroPerfecto(n, divisor + 1, sumaDivisores)

x=int(input("\nbingrese el numero para saber si es perfecto: "))


if numeroPerfecto(x) == True:
print(f"{x} es un numero perfecto :)\n")
else:
print(f"{x} no es un numero perfecto :(\n")

También podría gustarte