Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario/Email:
  

Contraseña
  





Buscar en los foros

(Búsqueda avanzada)

Últimos temas
Problema con TREEVIEW en ...
Foro: Aplicaciones de escritorio
Último mensaje por: Enrique
21-01-2020, 08:24 PM
» Respuestas: 2
» Vistas: 48
Presentación
Foro: Inicio
Último mensaje por: Francisco
21-01-2020, 02:18 AM
» Respuestas: 1
» Vistas: 55
RA O RV en PYTHON
Foro: Aplicaciones de escritorio
Último mensaje por: Enrique
20-01-2020, 10:51 AM
» Respuestas: 1
» Vistas: 213
No puedo guardar nada.
Foro: General
Último mensaje por: Francisco
14-01-2020, 11:44 PM
» Respuestas: 6
» Vistas: 425
[Tkinter][Python3.6] Camb...
Foro: Aplicaciones de escritorio
Último mensaje por: Myszowor
17-12-2019, 03:28 PM
» Respuestas: 4
» Vistas: 1.822
lanzar script desde otro ...
Foro: General
Último mensaje por: marlongil
17-12-2019, 02:39 PM
» Respuestas: 26
» Vistas: 20.644
Error instalando software...
Foro: General
Último mensaje por: txipiron
12-12-2019, 06:21 PM
» Respuestas: 2
» Vistas: 1.512
Problemas con método .gri...
Foro: Aplicaciones de escritorio
Último mensaje por: Myszowor
09-12-2019, 10:04 AM
» Respuestas: 3
» Vistas: 379
Problemas con styles cuan...
Foro: Aplicaciones de escritorio
Último mensaje por: Myszowor
09-12-2019, 08:05 AM
» Respuestas: 2
» Vistas: 308
ECUACIONES NO LINEALES
Foro: General
Último mensaje por: fernando0301
03-12-2019, 06:02 PM
» Respuestas: 0
» Vistas: 1.126

 
Lightbulb Problema con TREEVIEW en proyecto python MVC
Enviado por: Enrique - 20-01-2020, 10:15 AM - Foro: Aplicaciones de escritorio - Respuestas (2)

Hola, soy nuevo en Python pero me defiendo.  [Imagen: tongue.png] He relizado un proyecto, pero quiero hacerlo con una estructura MVC (Modelo, Vista, Controlador). El tema es que quiero sacar un TreeView donde mostrar datos y cuando pulsen en una fila(row) realizar tareas, pero me casca el programa cuando hago click en una cualquier fila y da el siguiente error:



AttributeError: 'Controlador' object has no attribute 'master'



He quitado del proyecto todo y he dejado solo lo que nos interesa, los 3 archivos(clases) Modelo.py, Vista.py y Controlador.py y el TreeView en Vista.



También os dejo un archivo test con un TreeView donde sí que medio funciona.



El tema es recuperar la fila, o el indice de la fila. En cualquier caso un dato de la fila que permita saber cual ha sido seleccionada.



Os paso también todo en .zip



Saludos y Gracias de antemano.

Enrique  [Imagen: smile.png] [Imagen: smile.png] [Imagen: smile.png]






  1. # MODELO (modelo.py)
  2. class Modelo:
  3.  
  4.     datos = [1, 'ES', 'España', 34,
  5.             2, 'FR', 'Francia', 33,
  6.             3, 'GR', 'Alemania', 49,
  7.             4, 'IT', 'Italia', 39,
  8.             5, 'GB', 'Reino Unido', 44]
  9.  
  10.     def __init__(self):
  11.         self.datos.append(5)
  12.         self.datos.append('PT')
  13.         self.datos.append('Portugal')
  14.         self.datos.append(351)
  15.  
  16.     def set_datos(self, dato, i):
  17.         self.datos[i] = dato[i]
  18.  
  19.     def get_datos(self, i):
  20.         return self.datos[i]


  1. # CONTROLADOR (controlador.py)
  2.  
  3. ##############################################################
  4. # APLICACION PYTHON 3                                        #
  5. # Pograma principal                                          #
  6. ##############################################################
  7. import sys
  8.  
  9. from modelo import Modelo
  10. from vista import Vista
  11.  
  12.  
  13. class Controlador:
  14.  
  15.     def __init__(self):
  16.         self.modelo = Modelo()
  17.         self.vista = Vista(self)
  18.  
  19.     def update_treeview_paises(self):
  20.         for i in range(6):
  21.             print(i)
  22.             self.vista.treeview_paises.insert('', 'end', text=str(self.modelo.get_datos((i*4)+0)),
  23.                                                   values=(self.modelo.get_datos((i*4)+1),
  24.                                                           self.modelo.get_datos((i*4)+2),
  25.                                                           self.modelo.get_datos((i*4)+3)),
  26.                                                           tags=("item",))
  27.  
  28.     def main(self):
  29.         self.update_treeview_paises()
  30.         self.vista.main()
  31.  
  32.     def salir(self):
  33.         sys.exit(0)
  34.  
  35.  
  36. if __name__ == '__main__':
  37.     controlador = Controlador()
  38.     controlador.main()



  1. # VISTA (vista.py)
  2.  
  3. import os
  4. import sys
  5. import tkinter as tk
  6. import tkinter.ttk as ttk
  7.  
  8. from tkinter import scrolledtext, NSEW, W
  9. from typing import re
  10.  
  11.  
  12. class Vista(tk.Tk):
  13.     PAD = 5
  14.  
  15.     def __init__(self, master):
  16.         super().__init__()
  17.         self.master = master
  18.         self.title("Menú Principal")
  19.         self.config(bg='lightgrey', borderwidth=1)
  20.  
  21.  
  22.         # Frame Principal
  23.         self.frm_main = ttk.Frame(self, relief='ridge')
  24.         self.frm_main.pack(padx=self.PAD, pady=self.PAD, fill="both", expand='yes')
  25.  
  26.         sw = self.winfo_screenwidth()
  27.         sh = self.winfo_screenheight()
  28.         w = sw * 0.7
  29.         h = sh * 0.7
  30.         x = (sw - w) / 2
  31.         y = (sh - h) / 2
  32.         self.geometry("%dx%d+%d+%d" % (w, h, x, y))
  33.         self.state('zoomed')  # Maximizada
  34.  
  35.         # Dibujamos la Barra de Menú
  36.         self.menubar = tk.Menu(self)
  37.         self.config(menu=self.menubar, bg="lightgrey", highlightcolor="white", highlightthickness="1")
  38.  
  39.         self.filemenu = tk.Menu(self.menubar, tearoff=0)
  40.         self.filemenu.add_command(label="Nuevo")
  41.         self.filemenu.add_command(label="Abrir")
  42.         self.filemenu.add_command(label="Bandeja")
  43.         self.filemenu.add_separator()
  44.         self.filemenu.add_command(label="Salir", command=self.salir)
  45.  
  46.         self.editmenu = tk.Menu(self.menubar, tearoff=0)
  47.         self.editmenu.add_command(label="Cortar")
  48.         self.editmenu.add_command(label="Copiar")
  49.         self.editmenu.add_command(label="Pegar")
  50.  
  51.         self.datosmenu = tk.Menu(self.menubar, tearoff=0)
  52.  
  53.         self.subdatos = tk.Menu(self.datosmenu, tearoff=0)
  54.         self.subdatos.add_command(label="Datos")
  55.         self.datosmenu.add_cascade(label='Recoger Datos',underline=0)
  56.  
  57.         self.helpmenu = tk.Menu(self.menubar, tearoff=0)
  58.         self.helpmenu.add_command(label="Ayuda")
  59.         self.helpmenu.add_separator()
  60.         self.helpmenu.add_command(label="Acerca de...")
  61.  
  62.         self.menubar.add_cascade(label="Archivo", menu=self.filemenu)
  63.         self.menubar.add_cascade(label="Editar", menu=self.editmenu)
  64.         self.menubar.add_cascade(label="Datos", menu=self.datosmenu)
  65.         self.menubar.add_cascade(label="Ayuda", menu=self.helpmenu)
  66.  
  67.         # Titulo
  68.         self.lbl_tit = tk.Label(self.frm_main, fg='black', bg='lightgrey', text="Main Menu")
  69.         self.lbl_tit.pack()
  70.  
  71.         # Frame de arriba
  72.         self.frm_up = ttk.Frame(self.frm_main)
  73.         self.frm_up.pack(fill='x', padx=self.PAD, pady=self.PAD)
  74.  
  75.         # Database
  76.         self.frm_dat = tk.LabelFrame(self.frm_up, text="Database")
  77.         self.frm_dat.pack(side='right')
  78.         self.lbl_dat = tk.Label(self.frm_dat, text='')
  79.  
  80.         self.lbl_dat.pack()
  81.  
  82.         # Frame de arriba y central
  83.         self.frm_upc = ttk.Frame(self.frm_up)
  84.         self.frm_upc.pack(anchor='center', padx=self.PAD, pady=self.PAD)
  85.  
  86.         # IA
  87.         self.frm_ia = tk.LabelFrame(self.frm_upc, text="Inteligencia \n Artificial")
  88.         self.frm_ia.pack(side='left')
  89.         self.lbl_ia = tk.Label(self.frm_ia, fg='red', text="OFF")
  90.         self.lbl_ia.pack()
  91.  
  92.         # Frame Cuadro Datos
  93.         self.frm_cpa = ttk.Frame(self.frm_main)
  94.         self.frm_cpa.pack(fill='x', padx=self.PAD, pady=self.PAD)
  95.  
  96.         # TREEVIEW PAISES
  97.         self.frm_cpf = tk.LabelFrame(self.frm_cpa, text="Paises")
  98.         self.frm_cpf.pack(fill='x', expand='yes', side='left')
  99.  
  100.         estilo = ttk.Style()
  101.         estilo.configure("Treeview", highlightthickness=0, bd=0, font=('Calibri', 10))
  102.         estilo.configure("Treeview.Heading", font=('Calibri', 10, 'bold'), foreground='#3790D5')
  103.  
  104.         self.treeview_paises = ttk.Treeview(self.frm_cpf, style="Treeview", columns=('Nº', 'ISO', 'País', 'Codigo'))
  105.         self.treeview_paises.heading('#0', text='Nº')
  106.         self.treeview_paises.heading('#1', text='ISO')
  107.         self.treeview_paises.heading('#2', text='País')
  108.         self.treeview_paises.heading('#3', text='Código')
  109.         self.treeview_paises.column('#0', minwidth=80, width=80, stretch=True, anchor="c")
  110.         self.treeview_paises.column('#1', minwidth=80, width=80, stretch=True, anchor="c")
  111.         self.treeview_paises.column('#2', minwidth=80, width=80, stretch=True, anchor="c")
  112.         self.treeview_paises.column('#3', minwidth=100, width=100, stretch=True, anchor="c")
  113.  
  114.         self.treeview_paises.tag_bind("item", '<<TreeviewSelect>>', self.selecciono_carrera)
  115.         self.treeview_paises.tag_bind('item', "<Double-Button-1>", self.selecciono_carrera)
  116.  
  117.         self.treeview_paises.grid(row=0, column=0, sticky=NSEW)
  118.  
  119.         vsb_a = ttk.Scrollbar(self.frm_cpf, orient="vertical", command=self.treeview_paises.yview)
  120.         vsb_a.grid(row=0, column=1, sticky=NSEW)
  121.         hsb_a = ttk.Scrollbar(self.frm_cpf, orient="horizontal", command=self.treeview_paises.xview)
  122.         hsb_a.grid(row=1, column=0, sticky=NSEW)
  123.         self.treeview_paises.configure(xscrollcommand=hsb_a.set, yscrollcommand=vsb_a.set)
  124.  
  125.         # Boton x de cerrar ventana la oculta
  126.         self.protocol("WM_DELETE_WINDOW", self.on_closing)
  127.  
  128.  
  129.     def main(self):
  130.         self.mainloop()
  131.  
  132.  
  133.     def salir(self):
  134.         self.master.salir()
  135.         self.destroy()
  136.         os._exit(0)
  137.         sys.exit(0)
  138.  
  139.     def on_closing(self):
  140.         self.withdraw()
  141.  
  142.     def selecciono_carrera(self, event):
  143.         print('Seleccionada Carrera')
  144.         #item = self.treeview_paises.identify('item', event.x, event.y)
  145.         #print("you clicked on", self.treeview_paises.item(item, "text"))
  146.  
  147.     def filter(self, tree, col, descending):
  148.         print ('Row: {} & Column: {} '.format(
  149.             re.sub('I00', '', str(tree.identify_row(tree.winfo_pointerxy()[1] - tree.winfo_rooty()))),
  150.             re.sub(r'#', '', str(tree.identify_column(tree.winfo_pointerxy()[0] - tree.winfo_rootx())))))


  1. # TEST (test.py)
  2.  
  3.  
  4. import tkinter as tk
  5. from tkinter import ttk
  6.  
  7.  
  8. class Application(ttk.Frame):
  9.  
  10.     def __init__(self, main_window):
  11.         super().__init__(main_window)
  12.         main_window.title("Vista de árbol en Tkinter")
  13.  
  14.         self.treeview = ttk.Treeview(self)
  15.         # Crear una nueva etiqueta.
  16.         self.treeview.tag_bind("mytag", "<<TreeviewSelect>>", self.item_selected)
  17.         self.treeview.tag_bind("mytag", "<<TreeviewOpen>>",
  18.                               self.item_opened)
  19.         self.treeview.tag_bind("mytag", "<<TreeviewClose>>",
  20.                               self.item_closed)
  21.  
  22.         # Añadir dos elementos indicando la etiqueta anterior para
  23.         # que respondan a los eventos.
  24.         item = self.treeview.insert("", tk.END, text="Elemento 1", tags=("mytag",))
  25.         item = self.treeview.insert("", tk.END, text="Elemento 2", tags=("mytag",))
  26.         self.treeview.insert(item, tk.END, text="Subelemento 1", tags=("mytag",))
  27.  
  28.         self.treeview.pack()
  29.  
  30.         self.pack()
  31.  
  32.     def item_selected(self, event):
  33.         """Item seleccionado."""
  34.         print("Seleccionado.")
  35.         #item = self.treeview.identify('mytag', event.x, event.y)
  36.         #print("you clicked on", self.treeview.item(item, "mytag"))
  37.  
  38.     def item_opened(self, event):
  39.         """Item abierto."""
  40.         print("Abierto.")
  41.  
  42.     def item_closed(self, event):
  43.         """Item cerrado."""
  44.         print("Cerrado.")
  45.  
  46. main_window = tk.Tk()
  47. app = Application(main_window)
  48. app.mainloop()



Archivos adjuntos Miniatura(s)
   

.zip   fichero.zip (Tamaño: 16,77 KB / Descargas: 1)
Imprimir

  Presentación
Enviado por: Enrique - 20-01-2020, 09:54 AM - Foro: Inicio - Respuestas (1)

Hola, estoy empezando con Python aunque no se puede decir que no tenga ni idea. Tongue  De hecho, he realizado un pequeño proyecto pero tengo un problemilla. Voy a poner el código en Aplicaciones de escritrio a ver si me echáis una mano.

Gracias y Saludos ¡¡¡¡  Smile Smile Smile

Enrique.

Imprimir

  No puedo guardar nada.
Enviado por: Cancerbero - 10-01-2020, 09:20 PM - Foro: General - Respuestas (6)

Buenas a todos.

Hace un tiempo comencé a aprender python, era con la version 2.7 y tenia Windows 7.  Por razones de la vida, tuve que dejarlo aparcado y ahora quería volver a picar código, pero tuve que formatear el pc e instalar Windows 10. 
Mi problema es el siguiente: Descargo la ultima versión de Python 3.8 y Sublime text 3 ( como la ultima vez ), puedo hacer cuatro cosas, tomar apuntes de vídeos que veo, y guardarlo, (save as... y el nombre.py). Ahora, cuando intento abrir lo que e guardado de nuevo directamente, no hace nada, no responde. Intento con la opción "abrir con" pero tampoco, y si entro a python, o a sublime text y lo abro desde allí, es como un archivo de texto, solo puedo escribir. Alguien a tenido este problema? Esto me esta matando...

Gracias!

Imprimir

  Error instalando software packages
Enviado por: txipiron - 09-12-2019, 01:04 PM - Foro: General - Respuestas (2)

FORO:

 Estoy dando mis primeros pasos (gateando en realidad) en Python e intentando instalar paquetes de software, por ejemplo PyGobject y me da el error que detallo más abajo que lamentablemente no tengo idea de que está pasando.
Si alguien me da una punta del ovillo se lo agradeceré. (tengo más errores para futuras consultas)
Muchas gracias desde ya.

Horacio

ERROR:

Código:
pip install Pygobject
Collecting Pygobject
  Using cached https://files.pythonhosted.org/packages/46/8a/b183f3edc812d4d28c8b671a922b5bc2863be5d38c56b3ad9155815e78dd/PyGObject-3.34.0.tar.gz
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
  command: 'c:\users\horacio\appdata\local\programs\python\python38-32\python.exe' 'c:\users\horacio\appdata\local\programs\python\python38-32\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\Horacio\AppData\Local\Temp\pip-build-env-68gbuw0n\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
      cwd: None
  Complete output (33 lines):
  Collecting setuptools
    Using cached https://files.pythonhosted.org/packages/54/28/c45d8b54c1339f9644b87663945e54a8503cfef59cf0f65b3ff5dd17cf64/setuptools-42.0.2-py2.py3-none-any.whl
  Collecting wheel
    Using cached https://files.pythonhosted.org/packages/00/83/b4a77d044e78ad1a45610eb88f745be2fd2c6d658f9798a15e384b7d57c9/wheel-0.33.6-py2.py3-none-any.whl
  Collecting pycairo
    Using cached https://files.pythonhosted.org/packages/3c/1a/c0478ecab31baae50fda9956547788afbd0ca563adc52c9b03cab30f17eb/pycairo-1.18.2.tar.gz
  Installing collected packages: setuptools, wheel, pycairo
      Running setup.py install for pycairo: started
      Running setup.py install for pycairo: finished with status 'error'
      ERROR: Command errored out with exit status 1:
      command: 'c:\users\horacio\appdata\local\programs\python\python38-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Horacio\\AppData\\Local\\Temp\\pip-install-vnkaxbaj\\pycairo\\setup.py'"'"'; __file__='"'"'C:\\Users\\Horacio\\AppData\\Local\\Temp\\pip-install-vnkaxbaj\\pycairo\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Horacio\AppData\Local\Temp\pip-record-7t5wf9yb\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Horacio\AppData\Local\Temp\pip-build-env-68gbuw0n\overlay' --compile
          cwd: C:\Users\Horacio\AppData\Local\Temp\pip-install-vnkaxbaj\pycairo\
      Complete output (18 lines):
      running install
      running build
      running build_py
      creating build
      creating build\lib.win32-3.8
      creating build\lib.win32-3.8\cairo
      copying cairo\__init__.py -> build\lib.win32-3.8\cairo
      copying cairo\__init__.pyi -> build\lib.win32-3.8\cairo
      copying cairo\py.typed -> build\lib.win32-3.8\cairo
      running build_ext
      building 'cairo._cairo' extension
      creating build\temp.win32-3.8
      creating build\temp.win32-3.8\Release
      creating build\temp.win32-3.8\Release\cairo
      C:\Program Files\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPYCAIRO_VERSION_MAJOR=1 -DPYCAIRO_VERSION_MINOR=18 -DPYCAIRO_VERSION_MICRO=2 -Ic:\users\horacio\appdata\local\programs\python\python38-32\include -Ic:\users\horacio\appdata\local\programs\python\python38-32\include "-IC:\Program Files\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files\Windows Kits\8.1\include\shared" "-IC:\Program Files\Windows Kits\8.1\include\um" "-IC:\Program Files\Windows Kits\8.1\include\winrt" /Tccairo/device.c /Fobuild\temp.win32-3.8\Release\cairo/device.obj
      device.c
      c:\users\horacio\appdata\local\temp\pip-install-vnkaxbaj\pycairo\cairo\pycairo.h(37): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory
      error: command 'C:\\Program Files\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2
      ----------------------------------------
  ERROR: Command errored out with exit status 1: 'c:\users\horacio\appdata\local\programs\python\python38-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Horacio\\AppData\\Local\\Temp\\pip-install-vnkaxbaj\\pycairo\\setup.py'"'"'; __file__='"'"'C:\\Users\\Horacio\\AppData\\Local\\Temp\\pip-install-vnkaxbaj\\pycairo\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Horacio\AppData\Local\Temp\pip-record-7t5wf9yb\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Horacio\AppData\Local\Temp\pip-build-env-68gbuw0n\overlay' --compile Check the logs for full command output.
  ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\horacio\appdata\local\programs\python\python38-32\python.exe' 'c:\users\horacio\appdata\local\programs\python\python38-32\lib\site-packages\pip' install --ignore-installed --no-user --prefix 'C:\Users\Horacio\AppData\Local\Temp\pip-build-env-68gbuw0n\overlay' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.

C:\Users\Horacio>

Imprimir

  Problemas con styles cuando se cierra ventana Tk.
Enviado por: Myszowor - 07-12-2019, 09:35 AM - Foro: Aplicaciones de escritorio - Respuestas (2)

Buenas:

Tengo una aplicación dónde se abre una ventana Tk() con un login de usuario y contraseña. Cuando introduzco dicho usuario y contraseña se abre otra ventana Tk() mediante una función y se cierra la del login.

El problema es que cuando trato de usar style() en la nueva ventana (En un Notebook en este caso), me sale el siguiente error:

can't invoke "event" command: application has been destroyed
while executing
"event generate $w <<ThemeChanged>>"
(procedure "ttk::ThemeChanged" line 6)
invoked from within
"ttk::ThemeChanged"


Todo funciona correctamente y la aplicación se abre sin problemas, pero no aplica el style. ¿Cómo puedo hacer para que me deje usar el style() en la nueva ventana Tk()?.

Muchas Gracias.

Imprimir

  Problemas con método .grid()
Enviado por: Myszowor - 07-12-2019, 09:28 AM - Foro: Aplicaciones de escritorio - Respuestas (3)

Buenas:

Una pregunta. Como dice el título estoy teniendo problemas en colocar los "widgets" dentro de la ventana principal. Me separa dichos widgets de una manera exagerada a pesar de estar estos dentro de distintos frames y no utilizar ni padx ni pady.

Os mando una imagen. No entiendo porque se separan de esa manera los frames. Debería estar todo "pegados" unos junto a otros y sin embargo me los separa de esa manera tan exagerada. (Sobre todo la separación de la etiqueta con fondo amarillo con respecto al resto)

¿Alguna idea?

Y ya que estamos por si esto no tuviera solución, ¿sería posible mezclar distintos métodos en distintas ventanas es decir .pack() en una ventana y .grid() en otra?

Muchas Gracias de antemano.



Archivos adjuntos Miniatura(s)
   
Imprimir

Wink ECUACIONES NO LINEALES
Enviado por: fernando0301 - 03-12-2019, 06:02 PM - Foro: General - Sin respuestas

Hola, tengo un ejercicio sobre un cohete despegando con perdida de masa, (sus datos estan en la foto). Lo que me piden es hallar la solucion en una grafica con EULER, sus campos de pendiente y planos fase.

Adjunto el archivo c01.zip donde me dan un ejemplo guia para resolver el ejercicio y otro archivo ProyectoEcuaciones.zip donde es el trabajo que hice hasta ahora, pero me da muchos errores, la grafica no se si esta bien. Si alguien me pudiera dar una mano con esto por favor.



Archivos adjuntos Miniatura(s)
   

.zip   ProyectoEcuaciones.zip (Tamaño: 17,56 KB / Descargas: 0)
.zip   c01.zip (Tamaño: 142,5 KB / Descargas: 0)
Imprimir

  Funcion recursiva en forma imperativa y funcional
Enviado por: tcastiblancor - 27-11-2019, 07:21 PM - Foro: General - Sin respuestas

hola 

alguno podria ayudarme con cualquier ejemplo para guiarme de la mplementacion de una Funcion recursiva en forma imperativa y funcional

estaria muy agradecida

Imprimir

  Funciones map, filter , reduce con la estructura de datos diccionario
Enviado por: tcastiblancor - 25-11-2019, 12:28 AM - Foro: General - Respuestas (3)

Hola 
alguno podria ayudarme con un ejemplo de las funciones 
map, filter , reduce con la estructura de datos diccionario

programacion 
imperativa y funcional 


cualquier ejemplo para guiarme seria muy util
gracias

Imprimir

  Duda de codigo para programa
Enviado por: Marco V - 23-11-2019, 05:45 PM - Foro: General - Respuestas (1)

Buenas no logro resolver un ejercicio que nos dejaron, el enunciado dice así; 
Desarrolle un programa que pida una cantidad de estudiantes (1..30) y luego solicite la nota (0..100) para esa cantidad de personas. Realice la solicitud de datos en funciones diferentes. Al final imprima el promedio de las notas ingresadas, la nota mayor y la menor. Agradezco la ayuda que me puedan dar.

Iba realizándolo algo similar a; 

estudiantes=[] 
notas=[] 

def solicitarestudiante(mensaje): 
   dato=int(input(mensaje)) 
   return dato 
cantidad=solicitarestudiante("Deme la cantidad de estudiantes") 

def solicitarnonta(mensaje): 
   dato=int(input(mensaje)) 


personas=solicitarestudiante(cantidad) 
cont=0 
while cont>personas: 
   nota = input("Ingrese la nota") 
   nota.append(notas) 
   cont+=1

Imprimir