Mostrando entradas con la etiqueta Python. Mostrar todas las entradas
Mostrando entradas con la etiqueta Python. Mostrar todas las entradas

miércoles, 2 de agosto de 2023

Uso de arrays con NumPy y SciPy ( Python)

Python: lista de reproducción del curso de Python de la Universitat d'Alacant
-oOo-

NumPy
-oOo-

ScyPy ( ScyPy es un conjunto de paquetes específicos que se basan en los de NumPy )
-oOo-

SymPy ( ScyPy es sistema CAS, que viene como un conjunto de paquetes específicos de cálculo simbólico basados en Python )
-oOo-

Más vídeos similares, aquí

jueves, 8 de junio de 2023

Algoritmo de multiplicación de dos matrices cuadradas de orden 3. Implementación en lenguaje Python

ENUNCIADO. Sean dos matrices cuadradas de orden $3$: $A=(a_{ij})_{3 \times 3}$ y $B=(b_{ij})_{3 \times 3}$. Sabemos que el producto $A\,B$, viene dado por $\displaystyle A\,B=(c_{ij})_{3 \times 3}=\sum_{k=1}^{3} a_{ik}\cdot b_{kj}$ para $i=1,2,3$ y $j=1,2,3$. Escríbase un programa en Python para multiplicar dos de esas matrices, elegidas libremente.

SOLUCIÓN

def multiplicar_matrices(A, B):
    C = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    
    for i in range(3):
        for j in range(3):
            for k in range(3):
                C[i][j] += A[i][k] * B[k][j]
    
    return C

# Ejemplo de matrices de orden 3
A = [[1, 0, -1],
           [2, 1, 3],
           [-2, 0, -1]]

B = [[4, 1, 0],
           [5, -5, 0],
           [3, 2, 1]]

# Llamada a la función para multiplicar las matrices
C = multiplicar_matrices(A, B)

# Imprimir el resultado C
for fila in C:
    print(fila)

Puesta en marcha del programa y resultado:

>>> %Run multiplicardosmatricesdeorden3.py
[1, -1, -1]
[22, 3, 3]
[-11, -4, -1]
$\diamond$

-oOo-

Utilidades:

  [1] El software básico para trabajar con Python: https://www.python.org/
  [2] Un entorno de trabajo: https://thonny.org/
  [3] Un compilador en línea: https://www.tutorialspoint.com/online_python_compiler.php

martes, 6 de junio de 2023

¿Cómo saber si un número (el que primero se nos ocurra) es primo? ¿Cómo encontrar los números primos menores que un cierto número (pongamos que 1000)?

Aquí tenéis un algoritmo básico y el código del programa correspondiente en lenguaje Python [1]

def es_primo(numero):
    if numero < 2:
        return False
    for i in range(2, int(numero ** 0.5) + 1):
        if numero % i == 0:
            return False
    return True

# Ejemplo de uso:
numero = int(input("Ingrese un número: "))
if es_primo(numero):
    print(numero, "es un número primo.")
else:
    print(numero, "no es un número primo.")

-oOo-

Y para encontrar los números primos mayores o iguales que $2$ y menores que $1000$, podéis escribir y hacer funcionar el siguiente programa en vuestro intérprete de Python (los hay que podéis utilizar en línea, sin instalar software de desarrollo en vuestro ordenador como, por ejemplo, éste [3]: https://www.tutorialspoint.com/online_python_compiler.php):

  def es_primo(numero):
    if numero < 2:
        return False
    #la búsqueda acaba en la raíz cuadrada del número introducido más una unidad
    for i in range(2, int(numero ** 0.5) + 1):
        if numero % i == 0:
            return False
    return True

primos = []
for num in range(2, 1001):
    if es_primo(num):
        primos.append(num)

print("Números primos hasta 1000:")
print(primos)
  

Al poner en marcha el programa, a cuyo archivo le he dado el nombre de numerosprimos.py, >>> %Run numerosprimos.py
Nota: el símbolo >>> indica el prompt de la cónsola de vuestro entorno de desarrollo (fuera de línea, he utilizado el IDE Thonny [2] (habiendo instalado préviamente Python [1]), que es software libre, y es de fácil uso)
Podéis comprobar que se obtiene (rápidamente, en pocos segundos) ...
Números primos hasta 1000: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]
>>> $\diamond$

-oOo-

Utilidades:

  [1] El software básico para trabajar con Python: https://www.python.org/
  [2] Un entorno de trabajo: https://thonny.org/
  [3] Un compilador en línea: https://www.tutorialspoint.com/online_python_compiler.php

lunes, 26 de diciembre de 2022

Programación en Python. Implementación en la calculadora Numworks

El siguiente ejemplo de elaboración de programas empleando Python es muy sencillito. Puedes implementarlo en tu ordenador —instalando previamente el intérprete y algún enterno de programación de Python—, o si dispones de de una Raspberry Pi. Si dispones de alguna calculadora programable en este lenguaje (por ejemplo la calculadora NumWorks), a cuyo emulador en línea puede acceder siguiendo este enlace: https://www.numworks.com/simulator/. Te irás acostumbrando poco a poco de servirte de este efectivo recurso: investigar y poder resolver problemas mediante este recurso numérico (escribiendo algoritmos).

Ejemplo. Cálculo del factorial de $n \in \mathbb{Z}\cup \{0\}$, $n!:=n\cdot (n-1)\cdot (n-2)\cdot \ldots \cdot 1$, siendo $0!=1$

def factorial(n):
    resultado = 1
    for i in range(1, n+1):
        resultado *= i
    return resultado

print(factorial(5))  # imprime 120 (5! = 1 * 2 * 3 * 4 * 5)

$\diamond$

lunes, 6 de septiembre de 2021

Ejemplo sencillo de uso de un servidor web con Python (Flask v. 2.0)

Aquí os muestro un ejercicio sencillo --que realicé como alumno en un curso de formación-- de uso de un servidor web mediante Flask v. 2.0 para publicar el resultado del cálculo del factorial de un número entero no negativo, a modo de ejemplos de prueba. Aprovecho también para mostrar un ejemplo básico de cálculo lambda.

-oOo-

Archivo de texto con el código fuente en el lenguaje de programación Python3: [servidorwebmedianteflaskv2.txt]

Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

Choques de una bola en las bandas de un billar. Un ejercicio con Python3 empleando la librería Pygame

Os muestro en este artículo un ejercicio sencillo de aplicación de la librería Pygame para simular los choques elásticos de una bola en un billar rectangular que elaboré en un curso de formación como alumno.

-oOo-

Archivo de texto con el código fuente en el lenguaje de programación Python3: [choquesboladebillar.txt]

Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

Ejemplo sencillo de uso de los métodos Math y Statistics (dos de los módulos de la librería estándar de Python

En este sencillo ejercicio os muestro el uso de algunos de los métodos de los módulos Math y Statistics de la librería estándar de Python. Este programa calcula el valor de algunos parámetros estadísticos para un conjunto de datos ( de ejemplo ) de una variable estadística
  Observación: Este programa se ha editado y ejectuado en el entorno Thonny

-oOo-

Archivo de texto con el código fuente en el lenguaje de programación Python3: [ejemplodeusodelosmetodosmathystatistics.txt]

Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

Un ejemplo de programación orientada a objetos con Python3

En este artículo os muestro una aplicación de la Programación Orientada a Objetos para la realización de unas cuantas operaciones aritméticas básicas que ensayé hace unos meses. El programa consta de una clase padre ( Operaciones ) y una clase hija para cada una de las operaciones ( suma, multiplicación, y división entera )

-oOo-

Archivo de texto con el código fuente en el lenguaje de programación Python3: [ejemplodeorientacionaobjetos.txt]

Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

Programa en Python3 para realizar recuentos en un fichero de texto

En el enlace al código fuente podéis ver el algoritmo que he escrito para realizar recuentos en un fichero de texto ( número de líneas, número de palabras, y número de caracteres ) en un nuevo fichero ( fichero de resultados ).
  El fichero que hay que analizar, y que he preparado previamente ( con el nombre texto.txt ), está en la carpeta del ejercicio. El nombre del fichero a analizar ( texto.txt ) y el nombre del fichero de los resultados que el programa generará ( resultados.txt ) se solicitan al usuario al inicio del programa. Para analizar otro fichero de texto distinto, habrá que especificar convenientemente los nombres de los mismos.

-oOo-

Archivo de texto con el código fuente en el lenguaje de programación Python3: [recuentosenunficherodetexto.txt]

Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

domingo, 5 de septiembre de 2021

Simulación del lanzamiento simultáneo de dos dados de parchís

Mediante el lenguaje de programación Python3, vamos a tratar la simulación del lanzamiento simultáneo de dos dados de parchís no trucados y el cálculo de la probabilidad de que la suma de las puntuaciones en un lanzamiento sea igual a un determinado valor.

  Las caras de sendos dados están numeradas del '1' al '6', dichos valores son los elementos de las respectivas LISTAS asociadas a cada dado, las cuales se recorren iterativamente de forma anidada para formar ( utilizando la instrucción 'add' ) el CONJUNTO de las 2-tuplas del espacio muestral así como el CONJUNTO de las 2-tuplas de los resultados favorables a que el valor de la suma de las puntuaciones del lanzamiento simultáneo de los dos dados sea igual a un valor requerido por el usuario.

  Así pues, en el programa se hace uso de dos LISTAS y de dos CONJUNTOS.

  Finalmente, se calcula la probabilidad de que el resultado de la suma de las puntuaciones de los dos dados que se lanzan sea igual a un determinado valor ( comprendido entre 2 y 12 ), el cual se solicita al usuario al inicio del programa.

  Como se parte de un espacio muestral equiprobable, la probabilidad se calcula aplicando directamente la regla/principio de Laplace.

  Para contabilizar el número de casos posibles así como el número de casos favorables ( número de elementos de los CONJUNTOS ) se utiliza la instrucción 'len'

-oOo-

Archivo de texto con el código fuente en el lenguaje de programación Python3: [simulaciondosdados.txt]

Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

martes, 27 de julio de 2021

División entera con divisor positivo (un ejercicio en Python)


[Haz clic aquí para visualizar la imagen a tamaño natural]


Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$

Hola, Mundo Python

Basta un bloc de notas para escribir el código fuente, para, a continuación, compilarlo desde la línea de comandos:

-oOo-

Utilizando ahora el IDE Thonny, para editar y compilar el código fuente de este otro sencillo programa, haciendo que sea así más cómoda la labor:

[Haz clic aquí para visualizar la imagen en tamaño original]


Referencias:
  [1] Vacas, J.A.: Curso de Python, YouTube

$\square$