codingupmyfuture / bootcamplinuxpython

MIT License
131 stars 19 forks source link

Pregunta 9 taller 3 nivel 2 #95

Closed Mongar28 closed 11 months ago

Mongar28 commented 1 year ago

Compañeros y compañeras, espero se encuentrenmuy bien. ¿No creen que deberia construirse la condicion con n >= 0 en vez de n > 0 como sugiere el enunciado? Me genera duda porque los indices de los iterables inician en 0 y si se condiciona a que n sea mayor a 0, nunca se podría retornar el primer elemento de la lista dada como argumento.

Screenshot_20230915_185039_Gallery.jpg

ChristYela commented 1 year ago

Es correcto tocayo, para que se pueda cumplir la condición debería ser n >= 0, en vez de ser n > 0 como está en el enunciado original. Es algo parecido con el otro issue del ejercicio de los descuentos por puntos y porcentajes, en el cual expuse mi réplica.

Mongar28 commented 1 year ago

Tocará tomar el riesgo y tirarse por alguna de las dos formas.

ChristYela commented 1 year ago

Un clásico error de redacción. Lo mismo que pasaría en el ejercicio de los porcentajes de descuento según los puntos, ver El issue respectivo donde se detalla una posible solución desde mi humilde opinión.

Mongar28 commented 1 year ago

Gracias Chris.

Annubis1709 commented 1 year ago

Estoy de acuerdo en que n debe ser mayor o igual a 0. Si n fuese 0, la función no retornaría el primer valor de la lista, sino la lista completa, lo cual contradice una de las condiciones que piden, que es retornar la misma lista si n es negativo o está fuera del rango de la lista.

EstebanSancho commented 1 year ago

Yo tengo una duda, también de redacción pero respecto a lo que debemos devolver. El ejercicio dice que nos retorne una posición de la lista, no un elemento de ella... Es diferente que me digan "retorne la posición n de la lista" (que sería algo como lista[n]) a que me digan "la posición del elemento n en la lista" (que sería como lista.index(n)

Cual creen ustedes que corresponda? image

Annubis1709 commented 1 year ago

También estaba con la misma duda, pero a mi modo de razonar si compruebo que n está dentro del rango de la lista, no tiene sentido devolver n como un indice de dicha lista. Además en la parte dónde dice respuesta esperada dice retun elemento/lista. Así que asumí que si n estaba dentro del rango de la lista, yo debía devolver el elemento de la lista con índice n

melenabelt commented 1 year ago

Opino lo mismo. 0 corresponde al primer elemento de la lista, así que yo en vez de validar que fuera >0 lo haré con >= 0

juli-amezquita commented 1 year ago

Hola chicos, yo también opino que es con el cero incluido porque de lo contrario generaría un error cuando n = 0. Sin embargo, lo que nos pide el ejercicio es retornar la posición de n en la lista, y no un elemento de la lista. Yo lo voy a hacer de esa manera porque es lo que dice el enunciado, y en esa parte, me parece que no hay lugar para otro tipo de interpretación.

melenabelt commented 1 year ago

según el enunciado, yo sí veo que debe retornar el elemento correspondiente a esa posición.

image

Según entiendo, se retorna el elemento correspondiente a la posición que es la n.

juli-amezquita commented 1 year ago

según el enunciado, yo sí veo que debe retornar el elemento correspondiente a esa posición.

image

Según entiendo, se retorna el elemento correspondiente a la posición que es la n.

Bueno, según la respuesta esperada, sí hay que retornar el elemento pero el enunciado solicita la posición y habla todo el tiempo de posición:

"Escriba dentro del cuerpo de la función function la lógica que permita retornar una posición de la lista..."

"Si la posición dada por n es negativa o esta fuera del rango de la lista debe retornar la misma lista"

Si se solicita "retornar la posición", se está haciendo referencia al índice o la ubicación del elemento en la lista. Por otro lado, si se pide el "elemento", se está requiriendo el valor almacenado en esa posición específica. Esta distinción es esencial para garantizar una comunicación precisa y clara sobre el objetivo de una operación o una función. En mi opinión, si el ejercicio habla de "posición" en lugar de "elemento", es justamente porque lo que se pide es la posición o ubicación, no parece ser un error de redacción, ya que el enunciado es repetitivo y enfático. Sin embargo, viendo el enunciado y lo que sugiere la respuesta esperada, sí puede generar confusión de lo que realmente están solicitando.

No sé qué opinan ustedes o si alguno ya recibió la corrección, pues en mi caso, sí me genera inquietud... ¡Gracias!

melenabelt commented 1 year ago

se retorna el elemento cuando la posición es >= cero y menor que la longitud de la lista. Se retorna la lista completa cuando lo anterior no se cumple.

ChristYela commented 1 year ago

se retorna el elemento cuando la posición es >= cero y menor que la longitud de la lista. Se retorna la lista completa cuando lo anterior no se cumple.

o sea que retorna el elemento que está en la posición n (siempre y cuando cumpla las condiciones) de lo contrario, mostraría la lista completa. Es lo que has querido decir?

melenabelt commented 1 year ago

Sí, así lo entendí.

juli-amezquita commented 1 year ago

Después de volver a revisar todo, en mi opinión, me parece que sí está bien planteado el ejercicio, incluso tomando n > 0. Me explico: si se implementa una función que devuelva la posición de la lista en la que el número n es mayor que cero y menor que la longitud de la lista, y que en caso de cumplirse esta condición, retorne la posición, y en cualquier otro caso, devuelva la lista completa, entonces esa función proporciona el resultado y cumple con lo solicitado en el enunciado. En mi opinión, no sería necesario realizar ninguna modificación en el enunciado; solo es necesario seguir todas las indicaciones del ejercicio. Yo ya lo probé de esta manera y funciona.

lrestrepoteck commented 12 months ago

Hola pero si se revisa el caso de n = 9 esto es valido por que len de la liste es 9 pero el ultimo indice es 8 entonces estamos otra ves ante un problem de comprencion del ejercisio sera resolverlo solo con menos que len para que funcione en este caso extremo.

lrestrepoteck commented 12 months ago

retiro lo dicho el ejersicio si especifica que debe ser menor.

deivish commented 12 months ago

Con relación a lo de si es la posición o el elemento lo que se debe imprimir si genera algo de confusion, pero no tiene sentido que se de el valor de n y que se imprimina ese mismo valor siendo este un elemento dentro de la lista. Tiene mas sentido que si dan el valor de n se imprima en valor en esa posición ya que puede ser diferente de n.

hrriverar commented 11 months ago

luisvasv-teck Por favor Luis ayudanos con los expuesto en la discusión, si retornar la posición o el elemento.