1. Con una cuenta podrás:

    • Publicar preguntas y pedir ayuda
    • Crear tutoriales
    • Acceder a contenido privado
    • Convertirte en un Héroe de la web
    Cerrar notificación
  2. Eres nuevo en la comunidad y necesitas ayuda?
    Sigue estos pasos y recomendaciones antes de publicar tu duda:
    Cerrar notificación

caso de python

Tema en 'Python' comenzado por juancperezg, 15 de Junio de 2017.

  1. juancperezg

    juancperezg Nuevo Miembro

    Se incorporó:
    10 de Junio de 2017
    Mensajes:
    7
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    hola buenas amigo necesito ayuda en un caso de programacion en python
    python tiene una plataforma o programa aliado que es jupyter hat donde estoy trabajando pero tengo un inconveniente cuando imprimo el algoritmo no me sale como es quiero que cuando imprima el algoritmo en la # 2. el que menos trabajo en el mes de julio. no me sale me sale el mes de enero quiero que por favor me colabore hay le pongo el caso


    # -*- coding: utf-8 -*-
    # CASO 7
    nombres=["juan ","luis ","andres ","Carlos ","ana ","paola ","luisa "]
    mes=["enero ","febrero ","marzo ","abril ","mayo ","junio ","julio ","agosto ","septiembre ","octubre "]

    dias_trabajados=[[28, 31, 25, 31, 24, 31, 26, 29, 27, 31],
    [29, 31, 28, 26, 25, 28, 31, 28, 24, 27],
    [29, 29, 27, 28, 24, 27, 27, 27, 33, 31],
    [28, 27, 26, 31, 28, 27, 27, 30, 29, 28],
    [27, 28, 28, 25, 29, 30, 25, 31, 31, 24],
    [29, 29, 28, 27, 25, 29, 29, 27, 26, 29],
    [30, 30, 31, 26, 29, 29, 29, 31, 23, 30]
    ]

    print("\t""\t",end="")
    for i in range(0,10):
    print (mes,end="")
    print("\n")

    for i in range(0,7):
    print (nombres,"\t",end="")
    for j in range(0,10):
    print (dias_trabajados[j],"\t",end="")
    print ("\n",end="")

    #----------------->DESARROLLO<--------------------------
    #Sumatoria egresados
    print("TOTAL:", end="")
    print ("\t\t",end="")
    for i in range (0,10):
    print (sum(row for row in dias_trabajados),"\t",end="")
    print ("")



    # 2. el que menos trabajo en el mes de julio.

    menos_nombres = 0
    print (max(dias_trabajados)[0])
    for i in range (0,10):
    if(mes=="julio"):
    menos=max(dias_trabajados)
    for j in range (0,7):
    if menos > dias_trabajados[j]:
    menos= dias_trabajados[j]
    menos_nombres=j

    print ("mes",mes[menos_nombres],"nombres:",nombres[menos_nombres],"Numero de dias_trabajados: ",menos)
    print("\n")





    # 4. nombre del mes que mas trabajo.
    print ("\n",end="")
    mayor_nombres = 0
    max(dias_trabajados)[0]
    for i in range (0,10):
    if(mes=="mayo"):
    mayor=max(dias_trabajados)
    for j in range (0,7):
    if mayor < dias_trabajados[j]:
    mayor= dias_trabajados[j]
    mayor_nombres=j

    print ("mes:",mes[mayor_nombres],"nombres:",nombres[mayor_nombres],"Numero de dias_trabajados: ",mayor)
    print("\n")




    la impresion


    enero febrero marzo abril mayo junio julio agosto septiembre octubre

    juan 28 31 25 31 24 31 26 29 27 31
    luis 29 31 28 26 25 28 31 28 24 27
    andres 29 29 27 28 24 27 27 27 33 31
    Carlos 28 27 26 31 28 27 27 30 29 28
    ana 27 28 28 25 29 30 25 31 31 24
    paola 29 29 28 27 25 29 29 27 26 29
    luisa 30 30 31 26 29 29 29 31 23 30
    TOTAL: 200 205 193 194 184 201 194 203 193 200
    30
    mes enero nombres: juan Numero de dias_trabajados: 27



    mes: enero nombres: juan Numero de dias_trabajados: 33
     
  2. Dawud

    Dawud Miembro conocido

    Se incorporó:
    4 de Abril de 2016
    Mensajes:
    585
    Me gusta recibidos:
    442
    Puntos de trofeos:
    63
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Villahermosa, Tabasco
    Tu condición de mostrar quien trabajo mas en el mes de JULIO esta mal, bueno considerando según de lo que determine de la siguiente manera.

    En el cual muestras 7 nombres y cada valor cuenta los días trabajados de cada mes según el empleado, si observas los números en negritas representa los días trabajado del mes de JULIO, ya que seguido del número remarcada es agosto, septiembre y octubre...

    juan 28 31 25 31 24 31 26 29 27 31
    luis 29 31 28 26 25 28 31 28 24 27
    andres 29 29 27 28 24 27 27 27 33 31
    Carlos 28
    27 26 31 28 27 27 30 29 28
    ana 27 28 28 25 29 30 25 31 31 24
    paola 29 29 28 27 25 29 29 27 26 29
    luisa 30 30 31 26 29 29 29 31 23 30


    Bueno lo que trato de hacer saber de acuerdo a la ayuda que necesitas


    La respuesta debe quedar de la siguiente forma:

    De acuerdo al que trabajo menos
    nombres: Ana, Numero de dias_trabajados: 25

    Pero considerando que ana no es la empleada que trabajo menos si nolos empleados andres y carlos ya que tiene el mismo valor de días trabajados, imagino que imprime los dos usuarios
    nombres: carlos, Numero de dias_trabajados: 27
    nombres: andres, Numero de dias_trabajados: 27

    De acuerdo al que trabajo más
    nombres: Luis, Numero de dias_trabajados: 31



    El error que tienes es que utilizas el método MAX() para determinar el menor día trabajado del empleado el cual debes de utilizar el método MIN() ....
     
  3. juancperezg

    juancperezg Nuevo Miembro

    Se incorporó:
    10 de Junio de 2017
    Mensajes:
    7
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    hola Dawud intente como tu dices pero el error persiste se se supone que debe imprirmir como tu lo planteas pero no sale al imprimir me sale en el mes sale mes

    para el menor
    enero nombres: juan Numero de dias_trabajados: 27

    para el mayor
    mes: enero nombres: juan Numero de dias_trabajados: 33


    siempre me sale el mismo resulta ni cambiandole el mes cambia agradezco tu ayuda
     
  4. Dawud

    Dawud Miembro conocido

    Se incorporó:
    4 de Abril de 2016
    Mensajes:
    585
    Me gusta recibidos:
    442
    Puntos de trofeos:
    63
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Villahermosa, Tabasco
    Debes de investigar como funciona el for range ya que esto esta mal definido, una ves que compile el codigo lo ejecuta tal como lo escribe pero no va a reconoces que el valor 10 pertenece a la variable mes...
    Esto esta mal declarado no haces referencia ala variable mes si no le asigna el valor 10 por default, eso por lógica lo conoces pero el sistema al momento de compilar no, el cual debes de declararlo
    o_Oo_O mira sin ofender, esto esta mal como puedes saber que el sistema que mes == julio si no que la variable mes que define es un tipo de array, te creería si definieras mes = "julio" ahí si concuerdo que la condición se cumple, Sin ermbargo ya te mencione que no debes de definir MAX sino el método MIN()
    Bueno para poder resolver debes de saber iterar el ciclo for... por ejemplo iterar en JAVASCRIPT, si te fijas para poder iterar se usa un índice para poder acceder al dato y mostrarlo en la consola... Y en :rolleyes:o_O el code que mencionas no define nada de eso no haces uso de índice

    Código (Javascript):
    for (var i = 0; i < mes.length; i++)
          console.log(mes[i]);
    Código (Javascript):
    for ( i in mes)
          console.log(mes[i]);
    Aquí dejo como mostrar un array de datos usando phyton...

    Código (Text):
    my_list = ['one', 'two', 'three', 'four', 'five']
    my_list_len = len(my_list)
    for i in range(0, my_list_len):
        print(my_list[i])

    Nota te sugiero que estudie y analices como funciona las condiciones así como otros métodos que utilices...
    Sugerencia: Para lo que estas haciendos debe de implementas varios for necesarios para poder mostrar los datos
     
  5. juancperezg

    juancperezg Nuevo Miembro

    Se incorporó:
    10 de Junio de 2017
    Mensajes:
    7
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    bueno gracias por todo
     
  6. Dawud

    Dawud Miembro conocido

    Se incorporó:
    4 de Abril de 2016
    Mensajes:
    585
    Me gusta recibidos:
    442
    Puntos de trofeos:
    63
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Villahermosa, Tabasco
    Analizando el dato que utilizas tiene no tiene caso utilizar el método MAX o MIN ya como lo mencione en el primer mensaje cada mes tiene sus días del empleado laboradas... si quieres utilizar los métodos mencionado anteriormente, debes de crear un array para poder almacenar los datos siguiente que se muestran en negritas, el cual una vez recopilado en un array los días del mes de julio puedes implementar los métodos min y max

    En la posible solución dejo como obtener los datos que mencionas en tu ayuda... esto esa solo para un dato recuperado, me pase una hora investigando como funciona phyton y pos espero que sea de gran ayuda... no suelo dar resultados seguidamente, ya que el aprendizaje es algo que debemos de tener o_Oo_O

    En la siguiente imagen se observa en la consola 4 salidas de datos o sea el día 26 trabajados es para la empleada ana, los nombre son iguales, nota cambie unos valores del array puede analizarlo por ejemplo paola es el nombre 4 del array y días son 10

    [​IMG]


    o_Oo_Oo_O
     
  7. Dawud

    Dawud Miembro conocido

    Se incorporó:
    4 de Abril de 2016
    Mensajes:
    585
    Me gusta recibidos:
    442
    Puntos de trofeos:
    63
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Villahermosa, Tabasco
    Ahora para en el caso que haya dos empleados o más que tengan días elaboradas iguales, lo imprima en pantalla y para ello tienes que investigar sobre array y guardar los posibles resultado para luego imprimirlo como en el ejemplo que te mostre en el primer mensaje
     
  8. juancperezg

    juancperezg Nuevo Miembro

    Se incorporó:
    10 de Junio de 2017
    Mensajes:
    7
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    gracias por ayudarme se le agradece
     

Comparte esta página