Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Librerías permitidas, no permitidas y malas prácticas T3 #395

Open
gecoli opened this issue Nov 13, 2023 · 91 comments
Open

Librerías permitidas, no permitidas y malas prácticas T3 #395

gecoli opened this issue Nov 13, 2023 · 91 comments
Labels
IMPORTANTE Aclaraciones importantes Tarea 3 Dudas sobre la T3

Comments

@gecoli
Copy link
Contributor

gecoli commented Nov 13, 2023

Para consultar sobre una librería deben responder esta issue con una pregunta de la siguiente forma:

¿Puedo usar la librería nombre_librería para hacer explicación_de_lo_que_quiero_hacer?

Toda librería que tenga que instalarse no está permitida.

¡Recuerden especificar en su README qué librerías utilizan!


Librerías Permitidas

  • collections
  • datetime
  • enumerate
  • functools
  • itertools
  • math
  • utilidades
  • api
  • requests
  • json

Librerías Prohibidas

  • numpy
  • operator
  • scipy
  • shutil
  • statistics
  • sympy
  • toolz

☠️ Built-ins Prohibidos

El uso de alguna de las siguiente funciones es automáticamente un 1,0 sin discusión: 😭

Malas prácticas

El uso de las siguientes prácticas será considerado una mala práctica:

  • except Exception: o únicamente except: (excepciones bien capturadas sí estarán permitidas).
  • Variables globales de cualquier tipo, a excepción de los elementos considerados en parametros.py.
  • Import * o imports que no se encuentren al inicio del programa.
  • Paths absolutos y no relativos.

¡Ánimo y éxito en sus tareas! 🎬🎥

@gecoli gecoli added IMPORTANTE Aclaraciones importantes Tarea 3 Dudas sobre la T3 labels Nov 13, 2023
@gecoli gecoli pinned this issue Nov 13, 2023
@pablolagosE
Copy link

En la parte 3.2 Consultas, se pude usar enumerate()?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 14, 2023

En la parte 3.2 Consultas, se pude usar enumerate()?

Buenas noches @pablolagosE !

Sí se puede ocupar enumerate.

Éxito en la tarea! ✨

@pablolagosE
Copy link

Hola!
En la parte 3.2 Consultas, se puede importar la librería heapq?
Gracias!

@gecoli
Copy link
Contributor Author

gecoli commented Nov 14, 2023

Hola!
En la parte 3.2 Consultas, se puede importar la librería heapq?
Gracias!

Buenas tardes, @pablolagosE , ¿Para qué quieres ocupar esa librería?

@pablolagosE
Copy link

Buenas tardes, quisiera ocupar esa librería para ocupar el método heapq.nlargest()

@gecoli
Copy link
Contributor Author

gecoli commented Nov 14, 2023

Buenas tardes, quisiera ocupar esa librería para ocupar el método heapq.nlargest()

Lo lamento, @pablolagosE , esa librería no se puede ocupar, dado que retorna una lista.

Así mismo, cuando se pregunta,"¿Para qué quieres ocupar esa librería?" es una pregunta a nivel de qué feature quieres realizar, no cuál función de la librería quieres ocupar.

Éxito en tu tarea ꒰ᐢ. .ᐢ꒱₊˚⊹

@Pablo-Gonzalez-Calderon

Holaaa!

¿La librería more_itertools está permitida? Específicamente, requeriría el uso del método more_itertools.ilen(iterable) para poder obtener el largo de generadores (cantidad de elementos).

Gracias de antemano :D

@gecoli
Copy link
Contributor Author

gecoli commented Nov 15, 2023

Holaaa!

¿La librería more_itertools está permitida? Específicamente, requeriría el uso del método more_itertools.ilen(iterable) para poder obtener el largo de generadores (cantidad de elementos).

Gracias de antemano :D

¡Buenos días @Pablo-Gonzalez-Calderon !

Dado que es una librería que se instala, no puede ocuparse. 😔

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@esperanzaacevedo
Copy link

hola puedo ocupar el método count?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 16, 2023

hola puedo ocupar el método count?

¡Buenos días, @esperanzaacevedo !

Ese es un método, no una librería, pero de todas formas está permitido.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@Litamo
Copy link

Litamo commented Nov 16, 2023

Hola ¿se puede usar max() o min() a algún generador?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 16, 2023

Buenas tardes, @Litamo

En efecto, se pueden ocupar estos métodos.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@lucasmv8
Copy link

Se puede usar la libreria copy?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 16, 2023

Buenas tardes @lucasmv8 !

Lamentablemente, no se puede ocupar copy.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@JorgeBravo98
Copy link

Hola buenas, se considera mala practica definir una funcion dentro de un de las funciones de Consultas?

@mon-b
Copy link

mon-b commented Nov 18, 2023

Hola!

En una issue anterior comentaron que se puede utilizar Counter para obtener un diccionario de manera que tengamos objeto_counter = Counter(lista_creada_por_compresion).

Puedo utilizar el atributo .keys() de esta manera: objeto_counter.keys()? (En específico, algo del estilo: [key for key in objeto_counter.keys()]).

Este atributo no retorna una lista, pero pregunto por si acaso :(

@magdafernandez
Copy link

Hola! se puede usar sum()?, si la respuesta es sí, puedo usar un for dentro de este?
gracias!

@Shoesuke
Copy link

Hola!!, se puede usar zip()?

@bugfly1
Copy link

bugfly1 commented Nov 20, 2023

Hola, se puede usar el comando de listas .copy()??

@angedvq
Copy link

angedvq commented Nov 21, 2023

Hola! Se puede usar sorted()?

@jrodriguezluna
Copy link

hola, se puede usar .pop() ?

@jrodriguezluna
Copy link

@angedvq Tengo entendido que solo sort() está permitido. Puedes revisar la issue #406

@gecoli
Copy link
Contributor Author

gecoli commented Nov 21, 2023

Hola buenas, se considera mala practica definir una funcion dentro de un de las funciones de Consultas?

Buenas tardes, @JorgeBravo98 !

No es una mala práctica penalizada, pero sí es una práctica que no quisiéramos que replicaras en este u otros cursos. Te recomiendo fuertemente definir una función fuera de las definidas en consultas y luego ocuparla.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 21, 2023

Hola!

En una issue anterior comentaron que se puede utilizar Counter para obtener un diccionario de manera que tengamos objeto_counter = Counter(lista_creada_por_compresion).

Puedo utilizar el atributo .keys() de esta manera: objeto_counter.keys()? (En específico, algo del estilo: [key for key in objeto_counter.keys()]).

Este atributo no retorna una lista, pero pregunto por si acaso :(

¡Buenas tardes, @mon-b !

En efecto, puedes ocupar dichos métodos de la forma en que las describes.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 24, 2023

Hola. Se puede ocupar el metodo strptime de la libreria datetime?

Buenos días, @gaspar-mr05

Sí se puede ocupar dicho método.

Éxito ✨

@magdafernandez
Copy link

Hola! se considera mala práctica importar de la siguiente manera:

import api
import requests

Gracias <3
Saludos!

@gecoli
Copy link
Contributor Author

gecoli commented Nov 24, 2023

Hola! se considera mala práctica importar de la siguiente manera:

import api
import requests

Gracias <3
Saludos!

Buenos días, @magdafernandez !

¡Nop! Eso no se considera mala práctica, lo que sí es mala práctica es hacer from api import *

¡Éxito en la tarea! ✨

@isidoragutierrez
Copy link

Hola!

Se puede usar "groupby" de itertools para agrupar ciertas instancias según un atributo en común?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 24, 2023

Hola!

Se puede usar "groupby" de itertools para agrupar ciertas instancias según un atributo en común?

Buenas tardes, @isidoragutierrez !

Sí se puede ocupar ese método.

Éxito ✨

@IgnacioParraguez
Copy link

se puede utilizar ._replace(nombre_atributo=nuevo_valor), para cambiar el valor de un atributo de las namedtuple, por ejemplo, la namedtuple Funcion?

@jrodriguezluna
Copy link

jrodriguezluna commented Nov 25, 2023

@IgnacioParraguez Si no me equivoco, en la issue #451 dijeron que si se puede usar _replace para reemplazar valores de la namedtuple 🤝🦆

@gaspar-mr05
Copy link

Hola! Esta permitido el metodo most_common de collections?

@Washaaaan
Copy link

Buenas, está permitido el uso de math.ceil() para aproximar por techo un número?

@avilamax
Copy link

Hola, se puede usar functools.cmp_to_key()?

@calegriak
Copy link

hola! se puede ocupar union() para unir dos sets?

@angedvq
Copy link

angedvq commented Nov 26, 2023

Holaa, para la parte de programación funcional, se puede usar enumerate()?

@Hanibal24
Copy link

Holaaa, se puede usar find()?

@EAOT
Copy link

EAOT commented Nov 27, 2023

Hola, para la parte de la api se puede usar el metodo .json( ) ?

@EAOT
Copy link

EAOT commented Nov 27, 2023

hola , se pueden usar las namedtuples del modulo utilidades.py para crear una nueva
por ejemplo f = Funciones ( id, numero_sala, id_pelicula, horario, fecha)

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

se puede utilizar ._replace(nombre_atributo=nuevo_valor), para cambiar el valor de un atributo de las namedtuple, por ejemplo, la namedtuple Funcion?

¡Buenas tardes, @IgnacioParraguez!

Sí se puede ocupar esa función,

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

Hola! Esta permitido el metodo most_common de collections?

Buenas tardes, @gaspar-mr05

Sí se puede ocupar!

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

Buenas, está permitido el uso de math.ceil() para aproximar por techo un número?

¡Buenas tardes, @Washaaaan !

Sí está permitido ✨

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

Hola, se puede usar functools.cmp_to_key()?

Buenas tardes, @avilamax !

Sí está permitido el uso de esa función.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

hola! se puede ocupar union() para unir dos sets?

¡Buenas tardes, @calegriak !

Sí se puede ocupar union() para unir dos sets creados por compresión.

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

Holaa, para la parte de programación funcional, se puede usar enumerate()?

Buenas tardes, @angedvq !

Sí se puede ocupar!

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

Holaaa, se puede usar find()?

Buenas tardes, @EAOT !

Se puede ocupar find, json y también Funciones!

¡Éxito en tu tarea! ꒰ᐢ. .ᐢ꒱₊˚⊹

@isidoragutierrez
Copy link

Hola!
Se puede usar "tee" de itertools para crear copias independientes de un iterador?

Buenas tardes, @isidoragutierrez !

Sí se puede ocupar tee ☺️

Hola! Me dijeron que si se podía ocupar tee, pero al correr run_public_tests.py me detecta como que estoy creando una tupla cada vez que utilizo "tee", ya que su uso es de la siguiente forma:
generador_copia_1, generador_copia_2 = tee(generador_peliculas, 2)
¿Como puedo solucionar esto?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

Hola!
Se puede usar "tee" de itertools para crear copias independientes de un iterador?

Buenas tardes, @isidoragutierrez !
Sí se puede ocupar tee ☺️

Hola! Me dijeron que si se podía ocupar tee, pero al correr run_public_tests.py me detecta como que estoy creando una tupla cada vez que utilizo "tee", ya que su uso es de la siguiente forma: generador_copia_1, generador_copia_2 = tee(generador_peliculas, 2) ¿Como puedo solucionar esto?

Buenas, @isidoragutierrez !

Por favor, revisa la Issue #431 para entender el uso correcto de tee al desempaquetar cosas.

Éxito!

@EAOT
Copy link

EAOT commented Nov 27, 2023

Hola, perdon por preguntar de nuevo pero no me quedo claro si se dijo que era valido usar el modulo json o el metodo .json( ) que es por el que preguntaba

@gecoli
Copy link
Contributor Author

gecoli commented Nov 27, 2023

@EAOT ,

El método json(), de la librería requests, se puede ocupar.

Éxito! ꒰ᐢ. .ᐢ꒱₊˚⊹

@IgnaciaDeGoyeneche
Copy link

Hola! Sólo para confirmar, el uso de str(), int() y float() están permitidos? Gracias!

@espeescobar
Copy link

Hola! se puede usar sum()?

@gecoli
Copy link
Contributor Author

gecoli commented Nov 28, 2023

Hola! Sólo para confirmar, el uso de str(), int() y float() están permitidos? Gracias!

Buenos días, @IgnaciaDeGoyeneche !

Sí está permitido el uso de str, int y float.

Éxito! ꒰ᐢ. .ᐢ꒱₊˚⊹

@gecoli
Copy link
Contributor Author

gecoli commented Nov 28, 2023

Hola! se puede usar sum()?

Buenos días, @espeescobar !

Como se respondió antes en esta Issue, sí, se puede ocupar sum.

Éxito! ꒰ᐢ. .ᐢ꒱₊˚⊹

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IMPORTANTE Aclaraciones importantes Tarea 3 Dudas sobre la T3
Projects
None yet
Development

No branches or pull requests