157 lines
3.5 KiB
Python
157 lines
3.5 KiB
Python
|
"""
|
||
|
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())
|