-
Notifications
You must be signed in to change notification settings - Fork 48
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 T1 #110
Comments
Buenas noches, espero se encuentren bien :). Tenia dos dudas:
Muchas gracias de antemano! |
Hola @benja20029 ! Las variables globales son aquellas variables que se definen fuera de cualquier función o clase. Por lo tanto, existe la posibilidad de llamarlas y utilizarlas dentro de funciones o métodos de clases sin pasarlas como argumento. Esto es una muy mala práctica, ya que se pierde el origen de la variable, y existe la posibilidad de redefinir sus valores dentro de ellas. Esto podría provocar errores que son bastante difíciles de debuggear, por lo mismo lo consideramos como mala práctica y existe penalización por su uso. En base a esto, y respondiendo a tus dudas: depende de donde guardes las variables de las instancias de una clase, o los resultados de una función. Si tu primera linea de código es: instancia = Clase() Contaría como variable global. Sin embargo, si es que lo realizas dentro de una función o clase: def funcion():
instancia = Clase()
# ... Ya no sería considerado una variable global. |
Hola! Tengo dos preguntas:
Muchas Gracias. |
Hola @Jpuc1143 ! Sí, puedes usar Enum para organizar mejor los estados de los menús. Ahora bien, mucho cuidado en donde defines esos estados, ya que en el archivo parametros.py deben ir los parámetros descritos en el enunciado y no se pueden definir funciones o clases en ellas. Recomendaría hacer un archivo aparte en ese caso. Con respecto a la segunda pregunta, no, siempre es mejor preguntar, ya que sino lleva descuento. Saludos! |
Hola, tengo una duda con respecto al número de caracteres por línea. Si bien para el código tenemos permitido hasta 100 caracteres, ¿esto aplica para el archivo partidas.txt? ¿O este último puede tener más caracteres? Saludos |
Hola @aplaza2 ! |
Hola, tenía entendido que uno de los descuentos es que la tarea tiene que tener indentación de dos espacios, sino se descuenta. Pero no veo esto en esta issue, ¿se descuenta tener una identación distinta a dos espacios? |
Hola @Fernanda1232123 ! Ese tipo de descuentos se evalúa en la sección de PEP8, el cual podrás ver específicamente en la sección de Descuentos. Por lo tanto, se descontará si no se usa indentación por espacios (4). |
Hola! En esta tarea está permitido el uso de generadores y funciones como filter/reduce/map etc...? |
Buenas, se puede usar la libreria time para usar sleep en esta tarea?? |
Otra duda, si por ejemplo el usuario ingresa inputs erroneos, es necesario hacer levantamiento de errores? o puedo hacer: while x=='algomalo': Se aplicaria descuento en caso de que no se haga levantamiento de errores? |
Hola @benja20029 !
|
@matiasmasjuan entendí que hay que dejar la tarea con indentación de 4 espacios. Si hago un tab equivalente a 4 espacios, en vez de poner los espacios uno por uno, ¿es lo mismo? Otra pregunta, ¿se puede usar la librería math? |
Hola. ¿Se puede usar la librería |
Hola @Fernanda1232123: Si tienes configurado una tabulación de 4 espacios, entoces si sería equivalente. Por ejemplo, si estás utilizando VSCode, puedes ver cómo utilizas la indentación en la esquina inferior derecha: Verás que la indentación se define por 4 espacios y no por tabs. Con respecto a tu otra pregunta: ¿Para qué quieres utilizar la librería Hola @vpaivag : ¿Para que quieres utilizar |
Hola, para abrir los archivos no se puede usar encoding utf8 ? si no los abro con esto quedan los datos con simbolos extraños :( |
Hola @cristobalba ! Para el manejo de archivos deben utilizar encoding utf-8, ya que de otro modo no se leeran correctamente ciertos caracteres especiales, como la ñ. |
Hola! Se puede usar la librería datetime para guardar las partidas con fecha y hora con datetime.now()? |
Hola @pedrocorrea2 . No es necesario guardar la fecha de la partida, ya que solo se pide el nombre. Sin embargo, si prefieres hacer uso de la librería |
Hola! ¿Está permitido usar métodos estáticos? |
Hola @aurmeneta. No hay problema en que utilices métodos estáticos o el decorador |
Hola, quería preguntar si las librerias que se permitieron en la tarea pasada también se pueden usar en esta, específicamente typing y future.annotations para hacer type hints y colorama para mostrar menus con colores. Además, saliéndome un poquito del tema quiero aprovechar de preguntar algo... En parámetros.py estoy poniendo las rutas a los archivos como una tupla(), pero al hacer import.os.path estoy agregando un "*" antes de poner la RUTA, esto lo hice para que me funcione lea la misma tupla, pero no sé si esto está permitido o si hay un método mas util (Si hay una forma más estándar me gustaría una explicación, ya que se me hace extraño poner un *) |
Hola @diegocostares ! No puedes asumir que las librerías permitidas anteriormente también se podrán utilizar en esta. Siempre se debe preguntar. Ahora bien, para los casos que mencionas si puedes usar esas librerias, pero recuerda especificar en tu readme el significado de typing y sus usos en caso de que el ayudante corrector no este familiarizado con esa notación. Con respecto a tu duda sobre el path: Sí, es completamente válido guardar el path como una tupla. Se considera una buena manera de hacerlo, ya que al agregar un * en la tupla estas haciendo un desempaquetamiento del path. Por lo tanto, es correcto y una buena manera de hacerlo (pero no la única). |
Para consultar sobre una librería deben responder esta issue con una pregunta de la siguiente forma:
¡Recuerden especificar en su README qué librerías utilizan!
✔ Librerías Permitidas
❌ Librerías Prohibidas
☠️ 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 únicamenteexcept:
(excepciones bien capturadas sí estarán permitidas).parametros.py
.Import *
o imports que no se encuentren al inicio del programa.¡Éxito en sus tareas! ⚔️🕊️🔥️
The text was updated successfully, but these errors were encountered: