fbpx

Respuestas del foro creadas

  • Es una idea, pero observo que en tu VS CODE sale el punto Blanco en las pestañas del INDEX y del TXT. Es decir, no se ha guardado los valores en el documento.

    Así que tal vez si presiones ctrl + s (save/guardar) y guardas el cambio el VS CODE, ya se debe ver reflejado el cambio en tu working area. Para así pasarlo a tu staging Area. Saludos.

  • Hola, la verdad aún no he tomado el curso de Django de esta plataforma, pero si lo he manejado un poco con tutoriales. Aunque veo que tu pregunta se divide en dos cosas:

    ** Una : El entorno virtual no se activa o no lo encuentra, ni su librería.

    ** Dos: Problema de no levantar el servidor de Django muy probablemente porqué no se ejecuta el entorno virtual donde están las librerías de Django.

    Así que mi pequeño aporte sería: Yo no uso el power Shell que trae por default visual code para manejar la terminal. Yo uso el Command Prompt que es el CMD por default de windows. Es el que manejo más. Y al utilizarlo me permite correr mis entornos virtuales sin problemas y por ende manejar las librerías de cada uno. Te comparto una imagen donde uso el Command Prompt,–> voy a la ruta de mi entorno virtual –> lo activo : Y una vez dentro uso el pip freeze para corroborar que están las librerías correspondientes a ese entorno. OJO todo eso, es solo para el entorno virtual, faltaría corroborar que levante el servidor de Django. Espero te haya servido mi aporte. Saludos y cuando logres resolver tu problema, me agradaría saber la solución que buscaste. Muchos animos!

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    6 octubre, 2021 en 7:04 am en respuesta a: Duda en constructores

    Hola, te comento: Cuando creamos una clase en java, por default nos “crea” un constructor vació en caso de no agregarlo a la clase. Gracias a ello podemos invocar objetos de esa clase, aún sin declarar constructores.

    El detalle surge que cuando nosotros sí escribimos los constructores, java YA NO crea el constructor vacío por nosotros. Y ese constructor vacío nos sirve para invocar un objeto de esa clase SIN ARGUMENTOS:

    Objeto uno = new Objeto(); //Esto te daría error si no pusiste el constructor vacío.

    Al no declararlo, a fuerza te pedirá los argumentos de los constructores (parámetros) que tu creaste.

    Saludos.

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    20 julio, 2021 en 4:42 am en respuesta a: Mejorar mi lógica en la Programación

    Hola, espero pueda ser de ayuda mis comentarios.

    Te aconsejaría aprender otro lenguaje de programación a la par. Como java, c++, c#, ya que python es un lenguaje que omite muchas cosas, es decir, viene compactado. Por ejemplo en java deberías escribir System.out.println(“hola mundo”) solo para decir ese mensaje, y en python solo pones print(“Hola mundo”), y esto aplica para muchas cosas, objetos, métodos, los atributos, herencia…(sobre todo esto de la herencia múltiple que flipe cuando lo vi xd). El detalle es que al omitirse esa cosas, pues es fácil desorientarse y no buscar la forma correcta o sus combinaciones de esos métodos para resolver problemas. Y si no se sabe como usar una herramienta…pues menos como aplicar la lógica para resolver problemas con ella.

    Otro es las matemáticas, sin duda…intentar convertir formulas, ecuaciones, matrices en un codigo, te ayuda a entender mejor a usar el if, for, while, swtich(que no hay en python por lo que veo xd) los arreglos, y demás.

    Saludos y lo más importante es divertirse mientras programas.

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    13 julio, 2021 en 6:24 am en respuesta a: Duda sobre los @property

    Hola. no pude modificar mi respuesta anterior, pero ya hice pruebas y esto concluí:

    Primero: El constructor de la clase __INIT__ debe inicializar las variables que le has indicado, entre ellas el de ‘estado’. Por ello el __init__ hace un llamado al decorador de estado, para poder inicializar la variable de estado. Es decir, SI o SI lo debe de ejecutar, a menos que no la inicialices en el __init__ pero el ejercicio te estipula hacerlo.

    Segundo. Estos decoradores son para obtener/sobreescribir los atributos, por ende ..pues.. no es natural que lleven esos mensajes de cambio, a menos que sea un valor incorrecto, en donde tiramos el valueError.

    Ejemplo:

    >>> Objeto.x = 5

    >>> ‘Ha colocado un numero entero satisfactoriamente’

    ¿Te imaginas tener que leer estos mensajes cada vez que usamos las variables? 😀

    Saludos y si cometí algún error, agradecería me lo comenten, ya que lo que he dicho, es lo que he estado aprendiendo.

    Muchos ánimos y para adelante.

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    13 julio, 2021 en 5:48 am en respuesta a: Duda sobre los @property

    Hola. ¿Todo el código lo estás ejecutando directo? En mi caso yo uso la terminal para importarlo y no me sucede ese detalle. Tal vez como lo ejecutas todo, el __init__ posiblemente este llamando el setter de estado y por ese se ejecuta el print no deseado. ¿Qué editor de texto usas? Veo que te trae la opción para compilar directo, me interesa para poder intentarlo. Pd. Yo también estoy terminando esos ejercicios.

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    18 diciembre, 2020 en 6:51 am en respuesta a: PROYECTO 9 DEF.

    Se agradece el aporte, e igualmente me fue útil por conceptos nuevos de setlocal y el system(pause);

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    10 febrero, 2020 en 12:38 am en respuesta a: Determinante con Matrices.

    Hola, yo igual casi me quemo el coco pensando como resolverlo jeje.

    Les comparto mi código del ejercicio propuesto numero 6 , igual les anexo un link del vídeo en el que se basó mi código, igual ofrezco una disculpa en caso de que este prohibido compartir links.

    El vídeo es el que mejor entendí, de los miles de internet jeje :

    https://www.youtube.com/watch?v=Ix9hDqfNuIA

    Agradezco de antemano cualquier consejo, opinión o idea para mejorar el código o detalles del mismo. Saludos

    /////////////////////////// inicio del código /////////////////////////

    #include <iostream>

    /* run this program using the console pauser or add your own getch, system(“pause”) or input loop

    Un programa que use una matriz de 3×4 para resolver un sistema de 3 ecuaciones con 3 incógnitas

    usando el método de Gauss (hacer ceros por debajo de la diagonal principal para luego aplicar sustitución regresiva).

    */

    using namespace std;

    int main() {

    float mE[3][4]={};//matriz de Ecuaciones

    float x=0,y=0,z=0;

    cout<<” Por favor inserte el valor de las variables de las ecuaciones: “<<endl;

    cout<<“[0][0]x [0][1]y [0][2]z= [0][3]”<<endl;

    cout<<“[1][0]x [1][1]y [1][2]z= [1][3]”<<endl;

    cout<<“[2][0]x [2][1]y [2][2]z= [2][3]”<<endl<<endl;

    for(int r=0;r<=2;r++){

    for(int c=0;c<=3;c++){

    cout<<“Inserte el valor de [“<<r<<“][“<<c<<“]: “;

    cin>>mE[r];

    }

    }

    cout<<“Matriz de ecuaciones inicial: “<<endl<<endl; //Matriz inicial

    for(int r=0;r<=2;r++){

    cout<<mE[r][0]<<“x “<<mE[r][1]<<“y “<<mE[r][2]<<“z = “<<mE[r][3]<<endl;

    }

    // Inicia reduccion de Gauss

    ////////////////////////////////////////////////// Fila2 (x)- fila 3(x)

    mE[2][1]=(mE[1][1]*mE[2][0])-(mE[2][1]*mE[1][0]);

    mE[2][2]=(mE[1][2]*mE[2][0])-(mE[2][2]*mE[1][0]);

    mE[2][3]=(mE[1][3]*mE[2][0])-(mE[2][3]*mE[1][0]);

    mE[2][0]=(mE[1][0]*mE[2][0])-(mE[2][0]*mE[1][0]);

    //////////////////////////////////////////////// Fila1 (x)- fila 2(x)

    mE[1][1]=(mE[0][1]*mE[1][0])-(mE[1][1]*mE[0][0]);

    mE[1][2]=(mE[0][2]*mE[1][0])-(mE[1][2]*mE[0][0]);

    mE[1][3]=(mE[0][3]*mE[1][0])-(mE[1][3]*mE[0][0]);

    mE[1][0]=(mE[0][0]*mE[1][0])-(mE[1][0]*mE[0][0]);

    /////////////////////////////////////////////////// Fila 2 (y)- Fila 3 (y)

    mE[2][2]=(mE[1][2]*mE[2][1])-(mE[2][2]*mE[1][1]);

    mE[2][3]=(mE[1][3]*mE[2][1])-(mE[2][3]*mE[1][1]);

    mE[2][1]=(mE[1][1]*mE[2][1])-(mE[2][1]*mE[1][1]);

    cout<<endl<<endl<<“Matriz de ecuaciones con la reduccion de Gauss: “<<endl<<endl; //Matriz Reducida

    for(int r=0;r<=2;r++){

    cout<<mE[r][0]<<“x “<<mE[r][1]<<“y “<<mE[r][2]<<“z = “<<mE[r][3]<<endl;

    }

    //////Despeje de las variablees z, y , x Sustitucion regresiva

    z= mE[2][3]/mE[2][2];

    y= ( ((mE[1][2]*z)*-1)+mE[1][3] )/mE[1][1];

    x= (mE[0][3]+ ((mE[0][1]*y)*-1) + ((mE[0][2]*z)*-1) )/mE[0][0];

    cout<<endl<<endl<<” El valor de las variables es:”<<endl;

    cout<<” Valor de X = “<<x<<” El valor de Y = “<<y<<” El valor de Z = “<<z;

    return 0;

    }

    //////////////////// Fin del código //////////////////////////////////

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    2 febrero, 2020 en 8:35 pm en respuesta a: Ayuda ejemplo 5. Matrices

    Hola, me agrada que este foro de seguimiento a dudas de los ejercicios.

    Me encontré con esta problemática igual y deseo compartir la solución que le di. (acepto ideas jeje):

    Primero me di cuenta que cualquier matriz cuadrada al transponerse, su último valor siempre sera igual , por eso el ejercicio siempre daba ‘V’ en la ultima comprobación de las matrices.

    Ejemplo:

    Matriz Original       Matriz Transpuesta

    [1] [3]  [7]               [1] [4] [7]        ¿Lo ven? El 2 esta en la misma casilla final. 

    [4] [8] [9]               [3] [8] [5]         Los For invierten las filas y columnas  al evaluar

    [7] [5] [2]                [7] [9] [2]         las matrices, pero siempre dejan de ultimo esa

                                                              casilla Final al momento de comparar. 

    Segundo: Acá dejo de mi código de solución al ejercicio, espero ser claro, y cualquier aportación, consejo, tip, lo agradecería con mucho gusto.  Saludos.

    ——————-Inicia código del ejercicio———————–

    #include <iostream>

    using namespace std;

    int main() {

     int renglon=0,columna=0,error=0;

     //Use un do while para realizar por lo menos una vez la peticion del tamano de la matriz.

     //En caso de no ser cuadrada la matriz, solicitara nuevamente el tamano de la matriz(fila/columna)

     do{

     if(error==1){ //Mensaje de error que se activa al repetirse el while.

     cout<<“Error, las columnas deben ser del mismo numero de los renglones, inserte de nuevo   los valores: “<<endl;

     }

    cout<<“Inserta la cantidad de renglones de la matriz: “;

    cin>>renglon;

    cout<<“Inserte la cantidad de columnas de la matriz: “;

    cin>>columna;

    error=1; //Puse esta variable error, para que en caso de que se vuelva a pedir el tamaño de la matriz

    cout<<endl<<endl; // se muestre un mensaje de error y solicitar insertar otra vez los datos.

    }while(columna!=renglon);

    int matriz1[renglon][columna]={};

    int casillas=renglon*columna; //Cree dos variables, la primera indica el numero de casillas que tendra la matriz

    int suma=0;// por ejemplo si es de 3*3 dara 9 casillas.

    cout<<“Favor de ingresar los valores correspondientes: “<<endl;

    for(int r=0;r<=renglon-1;r++){

    for(int c=0;c<=columna-1;c++){

    cout<<“Ingrese el valor [“<<r<<“][“<<c<<“]: “;

    cin>>matriz1[r];

    }

    }

    /*

    Mi solucion es esta, cuando se compara la matriz original con la transpuesta, se hace casilla por casilla, si todas son

    iguales, querra decir que la matriz es simetrica, por ende si TODAS SON IGUALES, se irá sumando un 1 en la variable suma,

    esto quiere decir que al finalizar el recorrido de la matriz, o sea, revisar todas sus CASILLAS, el total de los unos sumandos

    sera igual al total de casillas de la matriz. Es decir, si la matriz es de 2 filas por 2 columnas, dará 4 casillas, si las 4

    casillas al ser evaluadas con su matriz transpuesta son iguales, se sumara un 1 en cada una dando un total de 4.

    O sea: Casillas=4…. Suma=4

    Si alguna casilla no fuera igual, no se sumara nada, por ende suma y casillas sera diferentes y no se cumpliara la condicion

    del IF para indicar que es simetrica.

    */

    for(int r=0;r<=renglon-1;r++){

    for(int c=0;c<=columna-1;c++){

    if(matriz1[r]==matriz1[r]){

    suma+=1; // cuando son iguales se suma un 1 a Suma.

    }

    }

    }

    if(casillas==suma){ //Si son iguales las casillas de la matriz al numero de aciertos evaluados en la transposicion, dara MAtriz Simetrica.

    cout<<endl<<“Si es simetrica la matriz”;

    }else{

    cout<<endl<<“No es si metrica la matriz”;

    }

    return 0;

    }

    —————-Fin del ejercicio——————————–

    Pd. Al copiar acá,no me respeto el identado de mi código, por ello decidí ponerlo en 

    imágenes para mayor claridad.

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    17 julio, 2021 en 12:55 pm en respuesta a: Duda sobre los @property

    Hola buenos días, disculpa la demora en responder, fue una semana complicada.

    Efectivamente, como comentas, en Java cuando inicializas las variables de clase con los constructores de la clase al momento de invocar el objeto, estos no hacen un llamado interno a sus setters, sino que lo asignan directamente. Ya por fuera se usan los setters para asignar valores ya que son variables privadas. En eso tienes razón.

    Igual estoy entendiendo poco a poco python, y en mi caso me di cuenta que el INIT a fuerza usa los setter, si la variable tiene por lo menos un decorador. Es decir, si creas una variable nombre y solo le creas el decorador @priority (GETTER), al momento de invocar el objeto asignando un valor a esa variable, python te arroja un error de que no se puede inicializar la variable. Ya que python supone que estas usando los 2 decoradores, y al no encontrarlo te lo dice. Pero sino le asignas ningún decorador, la variable se inicializa sin problema alguno….en resumen, o usas los dos decoradores o usas ninguno.

    Lo del mensaje, tienes razón de los rpg. Yo jugué hace tiempo Dofus y me has hecho recordar buenos momentos. Esa idea de los mensajes es buena.

    Probaré ese editor a ver que tal. Gracias n.n

  • Adrian de la Cruz Espinosa Zurita

    Miembro
    27 enero, 2020 en 1:24 am en respuesta a: Ayuda, ejercicio 5 de arreglos.

    Hola, te aporto mi código relacionado al tema, espero te pueda ser te utilidad y agradezco cualquier idea. Saludos