Add exercises 12
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
parent
acfcd590da
commit
13f01de361
156
30-days-of-python/12_Módulos/01_modulos.py
Normal file
156
30-days-of-python/12_Módulos/01_modulos.py
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
"""
|
||||||
|
01_modulos.py
|
||||||
|
"""
|
||||||
|
import random
|
||||||
|
import string
|
||||||
|
|
||||||
|
# Ejercicios: Nivel 1
|
||||||
|
|
||||||
|
# 1. Escribe una función que genere
|
||||||
|
# un identificador de usuario aleatorio
|
||||||
|
# de seis dígitos/caracteres.
|
||||||
|
|
||||||
|
|
||||||
|
def random_user_id():
|
||||||
|
contra = ''.join(random.choices(
|
||||||
|
string.ascii_lowercase + string.digits, k=6))
|
||||||
|
|
||||||
|
return contra
|
||||||
|
|
||||||
|
|
||||||
|
print(random_user_id())
|
||||||
|
|
||||||
|
# 2. Modifica la tarea anterior.
|
||||||
|
# Declara una función llamada user_id_gen_by_user.
|
||||||
|
# No toma parámetros,
|
||||||
|
# pero toma dos entradas utilizando input().
|
||||||
|
# Una de las entradas es el número de caracteres
|
||||||
|
# y la segunda entrada es el número de IDs
|
||||||
|
# que se supone que deben generarse.
|
||||||
|
# ```
|
||||||
|
|
||||||
|
|
||||||
|
def user_id_gen_by_user():
|
||||||
|
n = int(input("Ingrese el número de caracteres: "))
|
||||||
|
m = int(input("Ingrese el número de IDs a generar: "))
|
||||||
|
user_ids = []
|
||||||
|
for i in range(m):
|
||||||
|
user_id = ''.join(random.choices(
|
||||||
|
string.ascii_lowercase + string.digits, k=n))
|
||||||
|
user_ids.append(user_id.upper())
|
||||||
|
return '\n'.join(user_ids)
|
||||||
|
|
||||||
|
|
||||||
|
print(user_id_gen_by_user())
|
||||||
|
|
||||||
|
|
||||||
|
# 3. Escribe una función llamada rgb_color_gen
|
||||||
|
# que generará colores RGB
|
||||||
|
# (3 valores que van desde 0 hasta 255 cada uno).
|
||||||
|
|
||||||
|
def rgb_color_gen():
|
||||||
|
r = random.randint(0, 255)
|
||||||
|
g = random.randint(0, 255)
|
||||||
|
b = random.randint(0, 255)
|
||||||
|
|
||||||
|
return f"rgb({r},{g},{b})"
|
||||||
|
|
||||||
|
|
||||||
|
print(rgb_color_gen())
|
||||||
|
|
||||||
|
|
||||||
|
# ### Ejercicios: Nivel 2
|
||||||
|
|
||||||
|
# 1. Escribe una función llamada
|
||||||
|
# list_of_hexa_colors que devuelva
|
||||||
|
# cualquier cantidad de colores hexadecimales
|
||||||
|
# en una lista (seis números hexadecimales escritos después del #).
|
||||||
|
|
||||||
|
|
||||||
|
def list_of_hexa_colors(n):
|
||||||
|
hexa_colors = []
|
||||||
|
for i in range(n):
|
||||||
|
hexa_color = ''.join([random.choice('0123456789abcdef')
|
||||||
|
for j in range(6)])
|
||||||
|
hexa_colors.append(f"#{hexa_color}")
|
||||||
|
return hexa_colors
|
||||||
|
|
||||||
|
|
||||||
|
print(list_of_hexa_colors(5))
|
||||||
|
|
||||||
|
|
||||||
|
# 2. Escribe una función llamada
|
||||||
|
# list_of_rgb_colors que devuelva
|
||||||
|
# cualquier cantidad de colores RGB
|
||||||
|
# en una lista.
|
||||||
|
|
||||||
|
def list_of_rgb_colors(n):
|
||||||
|
rgb_colors = []
|
||||||
|
for i in range(n):
|
||||||
|
r = random.randint(0, 255)
|
||||||
|
g = random.randint(0, 255)
|
||||||
|
b = random.randint(0, 255)
|
||||||
|
rgb_colors.append(f"rgb({r},{g},{b})")
|
||||||
|
return rgb_colors
|
||||||
|
|
||||||
|
|
||||||
|
print(list_of_rgb_colors(5))
|
||||||
|
|
||||||
|
|
||||||
|
# 3. Escribe una función llamada
|
||||||
|
# generate_colors que pueda generar
|
||||||
|
# cualquier cantidad de colores
|
||||||
|
# hexadecimales o RGB.
|
||||||
|
|
||||||
|
def generate_colors():
|
||||||
|
color_type = input("¿hexa o rgb? ")
|
||||||
|
n = int(input("¿Cuántos colores? "))
|
||||||
|
colors = []
|
||||||
|
if color_type == 'hexa':
|
||||||
|
for i in range(n):
|
||||||
|
hexa_color = ''.join(
|
||||||
|
[random.choice('0123456789abcdef') for j in range(6)])
|
||||||
|
colors.append(f"#{hexa_color}")
|
||||||
|
elif color_type == 'rgb':
|
||||||
|
for i in range(n):
|
||||||
|
r = random.randint(0, 255)
|
||||||
|
g = random.randint(0, 255)
|
||||||
|
b = random.randint(0, 255)
|
||||||
|
colors.append(f"rgb({r},{g},{b})")
|
||||||
|
return colors
|
||||||
|
|
||||||
|
|
||||||
|
print(generate_colors())
|
||||||
|
|
||||||
|
|
||||||
|
# ### Ejercicios: Nivel 3
|
||||||
|
|
||||||
|
# 1. Llama a tu función shuffle_list,
|
||||||
|
# toma una lista como parámetro
|
||||||
|
# y devuelve una lista mezclada.
|
||||||
|
|
||||||
|
def shuffle_list(lst):
|
||||||
|
random.shuffle(lst)
|
||||||
|
return lst
|
||||||
|
|
||||||
|
|
||||||
|
my_list = list(range(50))
|
||||||
|
print(shuffle_list(my_list))
|
||||||
|
|
||||||
|
# 2. Escribe una función
|
||||||
|
# que devuelva una matriz
|
||||||
|
# de siete números aleatorios
|
||||||
|
# en un rango de 0-9.
|
||||||
|
# Todos los números deben ser únicos.
|
||||||
|
|
||||||
|
|
||||||
|
def unique_random_numbers():
|
||||||
|
numbers = []
|
||||||
|
while len(numbers) < 7:
|
||||||
|
number = random.randint(0, 9)
|
||||||
|
if number not in numbers:
|
||||||
|
numbers.append(number)
|
||||||
|
return numbers
|
||||||
|
|
||||||
|
|
||||||
|
print(unique_random_numbers())
|
@ -62,3 +62,5 @@ generate_colors('rgb', 1)
|
|||||||
Ejercicios: Nivel 3
|
Ejercicios: Nivel 3
|
||||||
1. Llama a tu función shuffle_list, toma una lista como parámetro y devuelve una lista mezclada.
|
1. Llama a tu función shuffle_list, toma una lista como parámetro y devuelve una lista mezclada.
|
||||||
2. Escribe una función que devuelva una matriz de siete números aleatorios en un rango de 0-9. Todos los números deben ser únicos.
|
2. Escribe una función que devuelva una matriz de siete números aleatorios en un rango de 0-9. Todos los números deben ser únicos.
|
||||||
|
|
||||||
|
[Solución](01_modulos.py)
|
||||||
|
Loading…
Reference in New Issue
Block a user