Lucas Lucyk
MaestroRespuestas del foro creadas
Lucas Lucyk
Miembro2 julio, 2020 en 4:28 pm en respuesta a: Consulta para mejorar el código- Lección 11 ejercicios propuestos, ejercicio 2Puedes leer todas las lineas almacenándolas en un iterable:
lineas = file.readlines()Luego iteras con un for, separas con split y guardas los datos devueltos:
for linea in lineas:
_id, nombre, apellido, edad, diabetico = linea.replace(“\n”, “”).split(“;”)Y puedes dentro del mismo for, crear los objetos Paciente y guardarlos en el diccionario data:
data[_id] = pacientes.Paciente(int(_id), …)Luego simplemente haces el pickle.dump del diccionario data.
Lucas Lucyk
Miembro15 marzo, 2020 en 10:25 pm en respuesta a: Leccion 7 tema 3 Ejercicios PropuestosHola @omar-santiago, todo depende de como lo interpretes, no existe solo una manera de resolverlo.
Por ejemplo:
1- Si consideras que todos los números restan, está bien que obtengas un número negativo, dado a que el primero también restaría desde un origen (cero).
“resultado = 0 – 50 – 30 – 10”2- Si consideras lo anterior, el resultado puede ser el mismo ejemplo que se ve en el curso, donde sumas todos los valores y multiplicas el resultado por -1.
“resultado = (-1) * (0 + 50 + 30 + 10)
3- Si deseas que el primer número sea el origen para comenzar a restar, simplemente puedes asignarlo a la variable resultado en la primera línea de la función “resultado = args[0]”, siempre y cuando hayas validado que se hayan recibido argumentos, etc.
Luego de esto, resta los números recorriendo la lista desde la segunda posición hasta el final “for n in args[1:]”
4- Otra forma de hacer lo mismo que en el caso anterior, es dejar el código tal como está pero antes de retornar el resultado, sumes 2 veces el primer número de la lista (resultado += 2* args[0]).
“resultado = (0 – 50 – 30 – 10) + (2 x 50)”
Espero te sea de ayuda.
Saludos!
Lucas Lucyk
Miembro1 marzo, 2020 en 2:17 am en respuesta a: Problema con la ubicación de mi ejemplo, Módulo 1, Introducción a PhytonHola Erick.
Si el nombre de un directorio (carpeta) contiene espacios, debes incluir toda la ruta entre comillas, en tu caso sería:
C:\Users\ess-2> “C:\Users\ess-2\OneDrive\Documentos\Python\Estructura y elementos del lenguaje”
Lo que no logro comprender es si “Estructura y elementos del lenguaje” es un directorio o un archivo .py. En caso de que sea un directorio, puedes hacer lo siguiente
cd “C:\Users\ess-2\OneDrive\Documentos\Python\Estructura y elementos del lenguaje”
python tu_codigo.pyo bien…
python “C:\Users\ess-2\OneDrive\Documentos\Python\Estructura y elementos del lenguaje\tu_codigo.py”
En cambio, si se trata del nombre de tu programa, puedes hacer lo siguiente:
python “C:\Users\ess-2\OneDrive\Documentos\Python\Estructura y elementos del lenguaje.py”
** No olvides la extensión .py
Espero te sirva.
Saludos!
Hola Diego! Es correcto que el loop sea infinito, dado a que la comprobación del while siempre será verdadera. Puedes pensarlo paso a paso de esta manera:
1- Al llegar al ciclo while -línea 4- comprueba si la variable “tmp” es menor o igual a 50; lo cual es verdadero -en esta instancia, tmp vale 3 por su definición en la línea 1-. Por tal motivo, ingresa a ejecutar las sentencias dentro del ciclo -líneas 5 a 7-.
2- Se imprime el valor de la variable “multiplos” -en esta instancia vale 3 por su definición en la línea 2-.
3- Se incremente el valor de la variable “múltiplos” en 3, por lo que a partir de aquí, valdrá 6.
4- Se incrementa también la variable “tmp” en 3, por lo que a partir de aquí, valdrá 6.
5- Como no quedan sentencias que ejecutar en el ciclo while, se vuelve a la línea 4 para volver a comprobar si la variable “tmp” es menor o igual a 50; como es correcto se vuelve a ingresar al ciclo para ejecutar todas sus sentencias.
6- Se vuelve a imprimir el valor de “multiplos” -valor 6- y luego se incrementan las variables “multiplos” y “tmp” en 3, por lo que ambas valdrán 9 a partir de aquí.
7- Al no quedar más sentencias en el ciclo, se vuelve a comprobar si tmp es menor o igual a 50 y luego a ejecutar sus sentencias.
8- Estos pasos se repiten hasta que “multiplos” y “tmp” llegan al valor 51, dado que al comprobar si “tmp” es menor o igual a 50 el resultado será falso y se finalizará el ciclo while.Comprendido esto, esta claro que si quitas la línea 7, el valor de “tmp” siempre será 3, por lo que la comprobación del while siempre será verdadera y se producirá un loop infinito.
Espero te sea de ayuda!