Está en la página 1de 35

INTRODUCCIÓN A PYTHON

(IES Castelar, Curso 2022-2023)


(Versión 1.0)

1. TIPOS DE DATOS
○ Tipos de datos simples
i. Texto (str)
ii. Números (int & float = enteros y reales)
iii. Booleanos
○ Compuestos (Estructuras de datos)
i. listas [] =>puede cambiar, estar ordenado y acepta duplicados
ii. tuplas () => no puede cambiar, está ordenado y acepta duplicados
iii. set {} => puede cambiar, no está ordenado y no acepta duplicados
iv. diccionario {}=>puede cambiar, no está ordenado y la clave es única

2. OPERADORES EN PYTHON

3. ENTRADA / SALIDA

3. 1.print
● Puedo concatenar cadenas colocándolas entre comillas dobles o simples y con el
operador +.


● Puedo concatenar una variable usando el operador +. Si quiero que aparezca entre
comillas uso comillas simples


● Print puede imprimir además de cadenas números y funciones (los ejemplos de
funciones se verán luego, con input)

○ uso de números com print: Se realiza la operación

■ Retorna 16
● uso del parámetro f y paso de variables
● Para escribir varias líneas con un solo printo uso \n
○ print(“hola \nque tal”)
● Para tabular, agregar 4 caracteres antes de imprimir, uso \t


○ Observar que las comillas cogen la \t
● Para añadir un retorno de carro empleo “\n”
○ print(“\n”);

3.2 .input
● Permite guardar en una variable la entrada del usuario.
○ variable = input (“cadena de texto”)
● Si añado \n me muestra la entrada del usuario en otra línea
○ variable =input(“cadena” \n)
● Puede combinarse con print
○ print(input(“cadena de texto”))
● También puede combinarse con print haciendo que input vaya como
parámetro de print
○ print (“tu nombres es: + input(“dame tu nombre”));
● Pueden combinarse varios inputs dentro de un print. Hasta el último no imprime

4. STRINGS
● Python emplea la codificación UNICODE por lo que pueden emplearse los acentos
y todos los signos del español
● Podemos insertar caracteres especiales para formatear como: \n nueva línea y \t
tabulador
● Para concatenar caracteres usamos el operador +
● Como secuencia de escape usamos \ =>El siguiente carácter es un carácter o
función especial
○ Ejemplo: Que muestre un nombre entre comillas dobles

● Algunos métodos para trabajar con string son.

Ejercicio nº 1 . En el siguiente texto.

Realizar las siguientes tareas.

1. Calcula el número de veces que aparece el carácter i


2. Imprime el texto en mayúsculas.
3. Crea una lista con todas las palabras del texto.
4. Imprime el cuarto elemento de la lista e imprime su tipo de dato
5. Reemplaza la palabra SALADA por DULCE

5. VARIABLES
● Puede almacenar cualquier tipo de datos.
● Puede pasarse a las funciones print y recoger la salida de la función input()
● No necesitan ser declaradas por lo que puede cambiar el tipo de datos que
almacena
○ variable=55; variable=”Luis”
● Para conocer el tipo de una variable usamos la función type(variable). El tipo puede
imprimirse con print
● Puedo concatenar variables que almacenan cadenas mediante el operador + si en
lugar de cadenas son números realiza la adición
○ NOTA: Puede realizar operaciones aritméticas con Python usando lo
operadores aritméticos
■ a=2
■ b=5
■ print(a * b)==> 10
● La salida de input() es un string, si deseo operar con ella como número debo
realizar una conversión.

6. CONCATENAR CADENAS

● Para concatenar cadenas y variables tenemos dos métodos


○ 1. Función format ⇒En la cadena que deseamos imprimir se reemplazan
las variables por llaves vacías, a continuación cierro las comillas y
concatenar usando el operador “.” (punto) esa cadena a la expresión
format(variables a reemplazar separadas por comas)

● 2. Cadenas literales ⇒Antes de las comillas dobles colocamos f y , al igual


que antes, usamos llaves pero está vez con las variables. NO vacías
7. OPERADORES MATEMÁTICOS.

● Puedo usar print con la notación anterior para mostrar operaciones matemáticas.

● Divisiones

- La división entera no muestra decimales. En este caso el operador división debe


ser precedido de “/”

8. REDONDEOS

● Los float son números reales por tanto tienen decimales.


● Para el redondeo usamos la función
○ round() => Me permite eliminar la cantidad de decimales que desee. Para
mostrar los números de forma más cómoda
● La sintaxis de round() es : round(parametro1, parametro2)
○ Parámetro 1 es el número a redondear y puede ser
■ Un número
■ Una variable
■ Una operación
■ Una función
○ Parámetro 2 es: El número de dígitos decimales que queremos mostrar
■ Si se omite se sobreentiende que no queremos mostrar decimales.
● Python redondea por exceso

- La segunda división solo muestra 2 decimales

9. ESTRUCTURAS DE CONTROL

9.1 Sentencias condicionales


Ejercicio nº 2. Resuelve los siguientes ejercicios mediante un programa en Python
1.-Escribir un programa que almacene la cadena de caracteres "CONTRASEÑA" en una
variable y pregunte al usuario por la contraseña e imprime por pantalla si la contraseña
introducida por el usuario coincide con la guardada en la variable sin tener en cuenta
mayusculas y minusculas.
2.Leer un número entero y mostrar por pantalla si es par o impar.
3.Los alumnos de un curso se han dividido en dos grupos A y B de acuerdo al sexo y el
nombre. El grupo A está formado por las mujeres con un nombre anterior a la M y los
hombres con un nombre posterior a la N y el grupo B por el resto. Escribir un programa
que pregunte al usuaio su nombre y sexo , y muestre por pantalla el grupo que le
corresponde.(solución)

9.2 Sentencias de iteración


Ejemplos

1.Mostrar los 100 primeros números naturales

2.Mostrar los 100 primeros números naturales desde el número 5 en adelante.


3.Imprimir los números pares desde el 2 hasta el 100

OBSERVACIONES.
● La variable range cuando se le pasa un natural crea una lista desde 0 hasta n-1

Ejemplo. Imprimir los 100 primeros números naturales


Ejercicio 2. Escribir los 100 primeros números impares

Ejercicio 3. Escribe un programa que interactúe con el usuario realizando preguntas hasta
que esté pulse la letra ‘N’ (en mayúsculas).
Ejercicio nº 4. Escribir un programa, usando un bucle while que imprima n números de la
sucesión de Fibonacci, donde n debe ser pasado como parámetro.

Solución

Ejercicio nº 5. Encuentra las razones por las que se genera un bucle infinito en cada caso
1. break => Interrumpe bruscamente las iteraciones del bucle o cuando se cumple
una condición determinada.

Ejemplo. Se sale del bucle cuando el contador alcanza un valor determinado

2. continue => Cuando se encuentra la condición de finalización del bucle (continue)


interrumpe la iteración actual. Si no se colocan adecuadamente las instrucciones
podemos obtener resultados no deseados como bucles infinitos.
Ejemplo . Bucle infinito

● Cuando alcanza el valor de i=7 encuentra la instrucción continue e interrumpe las


operaciones de esa instrucción (i+=1).
● Al no llegar a incrementarse y (siempre valdrá 7) nunca llega a salir del bucle.
○ Entramos en un bucle infinito
● Podemos solucionarlo incrementando la variable antes de que encuentre la
sentencia continue

3. else => Las instrucciones solo se ejecutan si el bucle termina de forma satisfactoria
(puede emplearse tanto con bucles for como while)
4. pass=> Cuando necesitamos que una sentencia lleve alguna instrucción podemos
añadir pass, que no hará nada (solo será un ‘relleno’)
Ejemplo. El siguiente código genera un error al ser interpretado dado que else requiere de
una instrucción.

● Está es una posible solución


10. LISTAS
● Por cada método un ejemplo con números y letras (después de explicarlos en la
pizarra)
● Una lista es una colección de elementos ordenados, que pueden ser cambiados
durante la ejecución del programa y que admite duplicados.
○ Se crea agrupando los elementos entre corchetes y separados por comas.
[elemento1, elemento2, elemento3,.....,]

● Declaración de listas
○ nombreLista = [<Lista de valores separados por comas>]
○ Similar a los arrays de PHP pero son palabras reservadas => Pueden
almacenar elementos heterogéneos.
○ Acceso a cada elemento mediante índice que comienza en 0
○ Puedo modificar el contenido de un elemento indexando
■ nombreLista[indice]=valor
■ (Esto está prohibido con los arrays)
● Métodos de las listas
○ append => Añade un nuevo elemento a la lista
■ nombreLista.append(índice)=nuevo_elemento
○ pop => Elimina un elemento de la lista
■ nombreLista.pop(índice) . Elimina el elemento de la posición
“índice”
■ nombreLista.pop(). Elimina el último elemento de la lista.
■ El elemento eliminado puede guardarse en una variable (similar a
sacar de una pila o cola)
○ sort => ordena alfabéticamente los elementos de una lista, tanto caracteres
como cadenas o números
■ nombreLista.sort()
■ sort() no retorna nada por tanto no puede emplearse para almacenar
la lista ordenada en una variable
● none es el tipo de objetos que no tienen valor. Si intento
asignarle a una nueva lista la ‘salida’ del método sort veré
que el tipo de la nueva lista es nonetype
○ reverse => Invierte el orden de los elementos de la lista
■ nombreLista.reverse()

● Los principales métodos de una lista son.


Explicación de los métodos

● sort: Realiza la ordenación de la lista si es posible realizarla. Por defecto la


ordenación es ascendente. Si deseamos una ordenación descendente hay que
indicarlo con el parámetro reverse = true
● reverse:Invierte el orden de la lista
● count: Cuenta el número de veces que aparece un elemento en la lista y lo
devuelve como resultado. Se le pasa como parámetro el elemento a contar
● index.Devuelve la posición de la primera ocurrencia en la lista del elemento pasado
como parámetro. Por defecto se busca de izquierda a derecha. Tiene dos
parámetros opcionales
○ El primero indica la posición en que se empieza a buscar
○ El segundo parámetro indica en qué posición se termina la búsqueda
● clear. Elimina los elementos de la lista
● append. Añade el elemento pasado como parámetro a la lista. Puede ser cualquier
tipo de dato.
● insert. añade en la posición indicada por el primer parámetro el elemento pasado
como segundo parámetro
● remove. Elimina la primera ocurrencia empezando por la izquierda del elemento
indicado como parámetro. Si no encuentra el elemento devuelve error
● pop.Eliminar un elemento y lo devuelve como resultado. Se le pasa como
parámetro el elemento a borrar

Ejercicio nº 6. Dada la lista.

primos = [ 2,3,5,7,11,13,17]

Realiza las siguientes acciones

1. Imprime la clase de datos del elemento primos


2. Asigna al segundo elemento de la lista el valor 19
3. Imprime la nueva lista
10.1 Ejemplos con listas.
Ejercicio nº 7. Realizar los siguientes ejercicios empleado listas y las estructuras de
control vistas

I. Imprimir el índice de cada elemento de una lista y su valor

Solución:

● Otra forma de realizarlo

2. Imprimir todas las palabras que comienzan por “l” entre la siguientes: pablo, laura, luis,
ana

Solución:
3. Crea una lista de n naturales, donde n es solicitado al usuario, e imprime todos los
números impares que contiene dicha lista.

Solución:
n=int(input("Dame un número natural:"))
#creo la lista que recorreré
numeros = range(n)
#recorro la lista y muestro los números pares
for n in numeros:
if n%2 ==0:
print(f"{n} es un número par")

4. Suma el valor de los siguientes números, empleado una lista para almacenarlos y la
sentencia de control más apropiada (justifica tu elección), 1,2,3,4,5

Solución:
- En cada iteración una impresión
5. Selecciona el mayor de los elementos de la siguiente lista. Debes usar una las
sentencias de control estudiadas: 2,5,1,7,11,1,4,6

Solución:

El mayor número de una lista

6. Calcula el resto de una división entre naturales mediante restas sucesivas (*)

Solución
7. (PROBLEMA). Deseamos realizar una copia de seguridad del contenido de nuestro
disco duro usando disquetes de 1.44 MB. ¿Cuántos necesitaremos?
● Pregunta al usuario que capacidad tiene su disco duro
● Recuerda que las instrucciones secuenciales también son consideradas para la
programación (No siempre hace falta un condición o una iteración para resolver un
problema)

Solución .

8. En la siguiente lista suma los pares e impares:1,5,8,7,6,8,2,5,6,4,8,5,9,8,3,5,4,2,5,6,4

Solución .(Sumar pares e impares)

11. DICCIONARIOS

● Se componen de pares claves:valor


● las parejas claves , valor van entre comas simples y separadas por dos puntos; las
distintas parejas se separan por comas y van entre llaves (no paréntesis como en
las listas).
a. No tienen un orden específico, al contrario que las listas, es decir no tienen
asignado un índice ⇒ No podemos buscar un valor basándonos en su
índice. Solo podemos buscar valores en base a su clave
b. Aunque se escriban en cierto orden no es relevante para Python
● nombreDiccionario = { ‘c1’:’valor1’, ‘c2’:’valor2’ }
● Usaremos diccionarios cuando queramos almacenar datos a los que
queramos acceder por su relación con otro concepto y no por su ubicación
exacta
a. Ejemplo:Las características de una persona a la que queramos acceder
después a través de, por ejemplo, su peso, nombre, etc
● Acceso a un elemento del diccionario
a. elemento=nombreDiccionario[‘clave’]
● Los elementos del diccionario pueden también ser
a. listas
b. diccionarios
mi_diccionario={‘c1’:’valor1’,’c2’:[‘a’,’b’],’c3’:{‘clave1’:’val1’} }
● Si quiero acceder a un elemento dado de la lista le añado a la clave , entre
corchetes, el índice del elemento a consultar
○ dato=mi_diccionario[‘c2’[2]]

● Añadir una clave al diccionario


○ nomDiccionario [índice que no existe]=valor;
■ Si por ejemplo tiene tres entradas y quiero añadir una 4 puedo hacer
■ dic[4]=’c’
● Si invoco a una clave existente y le asigno un nuevo valor lo estoy sobrescribiendo
● Imprimir las claves
○ dic.keys()
● imprimir los valores
○ dic.values()
11.1.-Métodos propios diccionarios

● La mayoría de los métodos siguen el patrón


○ Diccionario.Nombre_Método(Parámetros)
● Algunos métodos son:
○ copy():Realiza una copia del diccionario y lo devuelve como resultado
■ copia_diccionario=diccionario.copy()
○ clear():Elimina todos los elementos del diccionario
■ diccionario.clear()
○ pop():Obtiene el valor de la clave pasada como parámetro y a continuación
elimina el elemento.(equivale al método ‘sacar’ de las pilas)
○ popitem():Igual que pop pero sobre un dato aleatorio
○ get():Devuelve el valor de la clave pasada como parámetro.
■ Se diferencia de pop() en que el elemento no se ‘saca’ del
diccionario
■ El primer parámetro, la clave, es obligatorio pero hay un segundo
parámetro que indica que se devuelve en caso de no encontrar la
clave (por defecto es none)
○ setdefault():inserta un elemento en el diccionario de no existir. Si el
elemento existe tan solo devuelve el valor del elemento
■ diccionario.setdefault(‘clave’,’valor’)
○ items(). Devuelve un objeto iterable compuesto por todos los elementos del
diccionario.
■ Permite imprimir las claves y los valores
○ keys():Devuelve un objeto iterable compuesto por las claves de los
elementos del diccionario.
○ values(): Devuelve un objeto iterable compuesto por todos los valores de
los elementos del diccionario

11.2 Ejemplos con diccionarios

12. TUPLAS

● Colección de elementos similares a las listas pero con una diferencia


○ Las tuplas son inmutables
● Tenemos dos formas de escribirlos
○ Encerrados entre paréntesis (las listas usan corchetes).
■ nombreTupla = ( lista de valores separados por comas)
○ Sin usar paréntesis
■ nombreTupla = lista de valores separados por comas.
● Ventajas de las tuplas frente a las listas
○ Ocupan menos espacio =>Son más eficientes.
○ Las estructuras que se almacenan tendremos la seguridad de que nadie
podrá modificarlas.
● Las tuplas pueden almacenar todo tipo de datos, incluido datos de distintos tipos
○ Ejemplo.Mostramos una tupla que contiene en su interior, números, una
lista y un diccionario.

● OPERACIONES CON TUPLAS


○ Acceso indexado.
■ miTupla[índice] =>Accede al elemento de la posición “índice”
● Si índices < 0 comienza por el último
● Si indice > 0 comienza desde el primero (el primer elemento
tiene índice = 0)
○ Cuando se usan índices negativos nos referimos al
último elemento con en indice -1
○ Transformar una tupla en una lista (casting)
■ Sigo los siguientes pasos
● Creo la tupla: nombreTupla=(lista valores)
● Creo una lista y le paso el nombre de la tupla
○ nombreLista=list(nombreTupla))
○ Ahora podré tratar la tupla como una lista. Por
ejemplo, modificar sus valores. (realizar asignaciones)
○ Asignación a un elemento de una tupla
■ Lo convierto en lista. nomLista = list(nombTupla)
■ Le asigno el nuevo valor. nomLista[indice]=valor
○ Separar los elementos de una lista y procesarlos
■ nomLista = v1, v2, v3, … vn
■ x1, x2, x3, …xn = nomLista
■ Accedo a los elementos de la lista a través de xi
● Esto también puede hacerse con las listas y los diccionarios.
● Ejemplo Imprimir el primer elemento de la lista (número 1)

● Obtener el número de elementos de la lista


○ nomLista = (lista de valores)
○ longitud = len(nomLista)
● Obtener el número de veces que aparece un elemento (es útil si algún
elemento se repite). => nomTupla.count(valor_elemento)
○ Útil para hallar frecuencias absolutas.
13. SETS

● Son una colección de elementos, como las listas, pero con las siguientes
peculiaridades.
○ Los elementos no pueden repetirse
○ Los elementos no están indexados
○ Los elementos no pueden cambiar
○ En un conjunto de no pueden incluirse listas ni diccionarios

● Declaración
○ Método 1: nomSet=set([lista de elementos separados por comas])
■ Los valores entre los paréntesis deben ir dentro de llaves o
corchetes.
○ Método 2: nomSet = {lista de elementos separados por comas}
■ Observar que en este segundo caso empleo llaves

14. FUNCIONES

● Una función es un bloque de código que tiene asociado un nombre, cada vez
que se quiera ejecutar el bloque de código basta con invocar el nombre de la
función.

● Definición de funciones

Ejemplo. Crear una función que retorne el mayor par de una lista de números creados por
el programa. Si no hay ningún par retorna error

Solución
14.1.- Parámetros y argumentos de una función

● La función recibe valores cuando se la invoca a través de unas variables , llamadas


parámetros, que se colocan entre los paréntesis de la función al declararla

def salarioNeto(salarioBruto,IRPF):
# código
return

- SalarioBruto e IRPF son los parámetros de la función

● En el cuerpo de la función se pueden usar estos parámetros como si fueran


variables

def salarioNeto(salarioBruto,IRPF):
salarioNeto=salarioBrupo*(1-IRPF)
return salarioNeto
● Los valores que se le pasan a la función al invocar se les llama argumentos.

# Declaración la función
def salarioNeto(salarioBruto,IRPF):
salarioNeto=salarioBrupo*(1-IRPF)
return salarioNeto

# llamo (invoco) a la función

salarioNeto(2150,0.16)

- 2150 (salarioBruto) y 0.16 (IRPF) son los argumentos

14.2.- Paso de argumentos a una función

● Los argumentos se pueden pasar de dos formas


○ Argumentos posicionales. Se asocian a los parámetros de la función y
deben ir en el mismo orden en que se define en la función

#definición de la función
def saludo(nombre, edad):
print(f”Me llamo {nombre} y tengo {edad} años”)

# invoco a la función
saludo(“luis”,55)

● Argumentos nominales. Se indica el nombre del parámetro al que se le


pasa el argumento. No hace falta respetar el orden

#invoco a la función
saludo(edad=55,”luis”)
14.3- Retorno de una función

● Una función puede devolver un valor. Para ello el valor a devolver se escribe detras
de la palabra return
14.4.Tipos de argumentos
A)Argumentos por defecto.=> Cuando se define la función le damos un valor a
algún parámetro y este es que tomará siempre que se llame a la función.

- el argumento por defecto solo se toma cuando no se emplee explícitamente un


valor para dicho argumento

B)Número indeterminado de de parámetros=> Puedo pasar un número variable


de parámetros, para ello en la declaración precedo el nombre del parámetro de un *
● Podemos combinar el paso de argumentos por defecto con el paso de argumentos
indefinido pero con la condición que el argumento por defecto sea el último

- Ejemplo de paso de argumentos por defecto e indefinido

14.5.-Ámbito de los parámetros y variables de una función.

● Los parámetros y variables declaradas dentro de una función son de ámbito local
● Las definidas fuera de la función son de ámbito global

- Los parámetros y variables de ámbito local de una función solo están


accesibles durante la ejecución de la función. Cuando termina la ejecución de
la función estas variables desaparecen y no son accesibles desde fuera de la
función
● Si coincide el nombre de una variable global con el de una variable local a una
función durante la ejecución de la función la variable global no es accesible hasta
que finalice la función.

14.6.-Paso de argumentos por referencia

● En Python el paso de argumentos a una función siempre es por referencia.


Cualquier cambio que se haga dentro de la función al parámetro permanecerá al
finalizar la función.(siempre que sea un objeto mutable)
14.7.-Funciones recursivas.

● Son funciones que en su cuerpo contienen una llamada a sí mismas. Cada llamada
a la función debe reducir el grado de complejidad del problema hasta poder
resolverlo directamente

Ejercicio. Calcular el factorial de de un número.

14.2.-Ejercicios de funciones en python

15.Arreglos en Python

● Las listas de Python hacen las funciones de los arreglos en otros lenguajes
○ No obstante una lista es un objeto y esto nos da métodos que no tenemos
con los arreglos
● Permite añadir datos de forma dinámica
● Uso de los arreglos (listas) en Python
○ Declaración de arreglos
■ nombreLista=[]
● Cuando no declaramos el tamaño no es posible realizar este
tipo de asignaciones:
○ nombreLista[indice]=valor
○ Añadir un elemento a la lista
■ nombreLista.append(valor)

16.Matrices en Python

● Las matrices son elementos dispuestos en filas y columnas.


● Las listas permiten representar una serie de datos en una dimensión y una lista de
lista permite implementar una matriz
● La sintaxis podría especificarse como sigue

NomMatriz =[ [fila_1],[fila_2], [fila_3],....[fila_n] ]


● Observaciones
○ Cada fila es una lista
○ Cada lista que implementa una fila se separa con “,” (coma) de la siguiente
○ Cada fila está contenida en un corchete, como es habitual en las listas, y un
par de corchetes contiene a todas las listas.
● Ejemplo: Matriz de 4 filas y 3 columnas

M=[ [1,2,4],[-2,4,34],[9,-45,-2],[3,4,2] ]

● Para hacer referencia a un elemento de la matriz usamos la notación.

NomMatriz[fila][columna] (Comienza la numeración en 0 (cero) )

● Si solo usamos un índice accedemos a la fila completa.

16.1.Procesamiento de matrices

● Se pueden manejar filas, columnas o componentes.


○ Mostrar toda la matriz
■ print (NomMatriz)
○ Imprimir la fila k-esima
■ print (NomMatriz[k])
○ Imprimir la columna k-esima
for i in range(tamaño_columna):
print (NomMatriz[i][K])

(Observar que la columna está fija)


● Mostrar un elemento
○ print(NomMatriz[i][j])
● Imprimir la matriz por filas
for i in range(num_filas):
print(NomMatriz[i])
(Si no conozco el número de filas puedo usar la función len(NomMatriz)

● Recorrer una matriz con un doble bucle (a imitación de Java y C++)

for i in range(número filas):


for j in range(numero columnas):
//procesamiento de la matriz
print(M[i][j],end=' ')
print("\n")
16.2.-Funciones de la librería NumPy para matrices

● Antes de invocar a las funciones de la librería debe ser importada

from numpy import*

1. Creación de arrays

nombreArray =array ([lista de valores])

● Ejemplos. v=array([1,4,5])

2. Creación de una matriz

nombreMatriz = array ([lista 1],[lista 2],....)

● Ejemplo. m=array([1,2,3],[4,6,7])

17.Generación de números aleatorios.

● Los números aleatorios son números comprendidos en un rango determinado pero


no es es imposible predecir a priori cuál de ellos será generado.
○ Si lanzamos un dado no ‘cargado’ (es decir no trucado) el número que
mostrará la cara visible estará entre 1 y 6 pero antes del lanzamiento no
podemos predecir dicho número.
● El módulo random es la librería de Python que permite generar números
aleatorios.
○ Para añadirla a tu programa usa la sintaxis.
■ import random
● Disponemos, entre otras, de las siguientes funciones básicas.
○ random.random(). Genera un número real (float) en el
rango [0.0,1.0)
○ random.randint(a,b). Genera un número entero en el
rango [a,b]. Observa que es un intervalo cerrado
○ random.randrange(a,b,c). Genera números aleatorios comprendidos en el
rango [a,b] separados entre sí ‘un salto’ c.
○ random.choice(secuencia). Devuelve aleatoriamente un elemento de una
secuencia. La secuencia puede ser, por ejemplo, los elementos de una lista.
○ random.shuffle(lista). Desordena los elementos de una lista
Ejemplo. Barajar ‘una mano’ en un juego de cartas

import random
baraja =[1,2,3,4,5,6,7,8,9,10,11,12]

for i in range(3):
#'barajo' las cartas
random.shuffle(baraja)
print(baraja)
● random.uniform(a,b). Genera un número real (float) en
el intervalo [a,b]
● random.gauss(mu,sigma). Genera un número aleatorio con
distribución normal
● random.sample(p,k).Obtiene una muestra de k elementos
de una población (lista)

17.Ejercicios de números aleatorios

1. Escriba un programa que genere un número aleatorio de un dado. Si sale 6


muestre el mensaje “Afortunado”. En caso contrario muestre el número que se
obtuvo y el mensaje. “no hubo suerte hoy” .Solución
2. Simule el lanzamiento de un dado. Muestre el resultado de cada intento y finalice
cuando salga el número 3 Solución
3. En un cultivo se tiene una cantidad inicial de bacterias. Cada día está cantidad se
duplica. Determine el qué día la cantidad excede a un valor inicial.

También podría gustarte