| title | 01Py | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| subtitle | Fundamentos de Programación / Python | ||||||||||
| author | [Joanh](https://github.com/joanh) | ||||||||||
| date | 2023 | ||||||||||
| output |
|
Probando Github Classroom - 2023
Ejemplo de uso: combinado de teoría y práctica
Las colecciones de datos son fundamentales en cualquier lenguaje de programación.
En Python, las listas son un tipo de objeto que nos permite almacenar varios valores en una misma variable.
Las tuplas son muy parecidas a las listas, pero son inmutables, no se pueden modificar una vez creadas.
El diccionario es otro tipo de colección de datos que nos permite almacenar valores, pero a diferencia de las listas y las tuplas, en los diccionarios cada valor está asociado a una clave, y se admiten duplicados (la clave siempre será diferente).
Los
setsvienen a ser una mezcla entrelistasytuplas, sus elementos son inmutables pero pueden ser eliminados y/o añadidos nuevos elementos.
Se conocen como números aleatorios a los que se generan sin seguir ningún patrón aparente, es decir, de forma impredecible. Son muy importantes en programación, se utilizan en áreas tan diferentes com los juegos, por ejemplo para generar escenarios, o en la criptografía y en los sistemas de seguridad de la información en general.
Los números pseudoaleatorios son aquellos que se generan mediante un algoritmo determinista, es decir, que siguen un patrón, y por tanto la secuencia puede ser predecible.
Generador de números pseudoaleatorios criptográficamente seguros
tl/dr: Los números aleatorios son impredecibles, los números pseudoaleatorios son predecibles. Los ordenadores no producen números aleatorios, sino números pseudoaleatorios.
¡Hola! Tienes razón al afirmar que los números generados por computadora son, en su mayoría, pseudoaleatorios. Los generadores de números aleatorios en computadoras utilizan algoritmos deterministas para producir secuencias que imitan propiedades de secuencias aleatorias. Aunque estas secuencias pueden parecer aleatorias, en realidad son predecibles si conoces el estado interno del generador.
El concepto de pseudoaleatoriedad se basa en la determinación algorítmica, lo que significa que, dado un estado inicial (semilla), el generador producirá la misma secuencia de números cada vez. Esto puede ser beneficioso en ciertos contextos, como la reproducibilidad en experimentos científicos o simulaciones.
Para profundizar en este tema, puedes consultar recursos como:
-
Knuth, D. E. (1997). "The Art of Computer Programming, Volume 2: Seminumerical Algorithms" - Este libro aborda algoritmos de generación de números pseudoaleatorios.
-
L'Ecuyer, P. (1999). "Good parameters and implementations for combined multiple recursive random number generators" - Este artículo se centra en la elección de parámetros para generadores pseudoaleatorios.
En resumen, los números generados por computadora son pseudoaleatorios en su naturaleza y se basan en algoritmos deterministas. Esto es fundamental para comprender y controlar el comportamiento de los generadores en aplicaciones específicas.
import random
random_word_list = ['Oro','Diamantes','BitCoins','Incienso','Mirra','el Gordo']
# se selecciona una palabra aleatoria de la lista
random_word = random.choice(random_word_list)
print(f"Mi premio: " + "¡" + random_word + "!")## Mi premio: ¡Oro!
# Se genera un índice aleatorio con la lista
# y se selecciona un elemento
random_word = random_word_list[random.randint(0,len(random_word_list))]
print(f"y además... " + "¡" + random_word + "!") ## y además... ¡el Gordo!
- Encontrar un fallo lógico del script
- Corregir el fallo
- Entender (y explicar en tres líneas) la importación de módulos y en concreto el usado en el código, éste:
random—Generar números pseudoaleatorios - Formato
ipynb(Jupyter Notebook),Markdownypy
- Antes de preguntar a una
IAvisitar la documentación oficial y foros deQ/A - No copiar y pegar código sin entenderlo
- Analiza siempre las respuestas de la
IAy repregunta si algo no cuadra
- Fecha:
14 de diciembre

