SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
TALLER LISTAS Y VENTANAS CON EASYGUI
Resumen talleres anteriores
En el taller de gráficos tortuga, se dio una noción intuitiva del concepto de subrutina y
función de Python. En ciertos momentos un programador puede necesitar efectuar una
misma tarea en distintos puntos del programa o repetirla un cierto número de veces.
Para evitar tener que volver a escribir una y otra vez las mismas instrucciones, Python
permiten agrupar porciones de programa y reutilizarlas cuando sea necesario utilizando la
palabra clave def.
En los gráficos tortuga, puede ser tedioso escribir las instrucciones para dibujar un
cuadrado cada vez que se necesite, utilizando la palabra clave def se puede construir un
procedimiento que dibuje un cuadrado y llamarlo por su nombre cada vez que sea
necesario.
El siguiente ejemplo dibuja un cuadrado 2 veces, separado cierta distancia:
Note la diferencia entre la definición del procedimiento y su llamada.
El bloque def y las instrucciones que están bajo 4 espacios equivalen a la definición y
dibuja_cuadrado() es la llamada al procedimiento.
No es obligatorio, pero es deseable ubicar las definiciones y las llamadas de la siguiente
manera:
En las primeras líneas los módulos que necesita el programa, posteriormente las
definiciones y por último el programa principal o las llamadas a los procedimientos o
funciones.
Como lo muestra la figura anterior se hace una distinción conceptual entre procedimiento y
función la diferencia entre los dos radica en que el procedimiento no tiene la palabra clave
return mientras que una función si.
Técnicamente el procedimiento ejecuta ciertas instrucciones pero no devuelve un resultado
procesado al programa, en cambio la función devuelve un resultado al programa mediante
la palabra clave return
El código siguiente muestra las diferencias entre procedimientos y funciones:
Listas y Tuplas
Tuplas
Son tipos de datos inmutables eso quiere decir que una vez definidos no se pueden
modificar,
Las operaciones de las listas son aplicables a las tuplas menos las que impliquen
modificiones (agregar, insertar, modificar o eliminar elementos).
Se definen con paréntesis separados por comas
Ejemplo:
numeros_digitos=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
El resto del taller se dedicará en su mayoría a las listas.
Listas
Las listas son conjuntos ordenados de elementos (números, cadenas, listas, etc).
Las listas se delimitan por corchetes ([ ]) y los elementos se separan por comas.
Las listas pueden contener elementos del mismo tipo, por ejemplo:
primos = [2, 3, 5, 7, 11, 13]
dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
Pueden contener elementos de tipos distintos:
fecha = ["Lunes", 27, "Octubre", 1997]
O pueden contener a otras listas:
dias_de_la_semana = [ ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] , ["Sabado",
"Domingo"]]
Es posible acceder a cada uno de los elementos por medio de un índice que va desde 0
hasta el número de elementos.
La lista vacía se define por [ ]
Operaciones con listas
Imprimir por pantalla un elemento de la lista
nombres = ["Pedro", "Juan", "Carlos"]
print(nombres[2])
La salida por pantalla es:
Carlos
Modificar un elemento
nombres = ["Pedro", "Juan", "Carlos"]
nombres[0]= "Luis"
print(nombres)
La salida por pantalla es:
['Luis', 'Juan', 'Carlos']
Agregar elementos al final
nombres = ["Pedro", "Juan", "Carlos"]
nombres.append("Maria")
print(nombres)
La salida por pantalla es:
['Luis', 'Juan', 'Carlos', 'Maria']
Agregar elementos en una posición específica
nombres = ["Pedro", "Juan", "Carlos"]
nombres.insert(1,"Sara")
print(nombres)
La salida por pantalla es:
['Pedro', 'Sara', 'Juan', 'Carlos']
nombres = ["Pedro", "Juan", "Carlos"]
nombres.insert(2,"Juliana")
print(nombres)
La salida por pantalla es:
['Pedro', 'Juan', 'Juliana', 'Carlos']
Borrar un índice específico
nombres = ["Pedro", "Juan", "Carlos"]
del nombres[2]
print(nombres)
La salida por pantalla es:
['Pedro', 'Juan']
Saber si un valor está o no en una lista
Para saber si un valor está en una lista se puede utilizar el operador in. La sintaxis sería
"elemento in lista" y devuelve un valor lógico: True si el elemento está en la lista, False si el
elemento no está en la lista.
Por ejemplo, el programa siguiente comprueba si el usuario es una persona autorizada:
personas_autorizadas = ["Alberto", "Carmen"]
nombre = input("Dígame su nombre: ")
if nombre in personas_autorizadas:
print("Está autorizado")
else:
print("No está autorizado")
Para saber si un valor no está en una lista se pueden utilizar los operadores not in. La
sintaxis sería "elemento not in lista" y devuelve un valor lógico: True si el elemento no está
en la lista, False si el elemento está en la lista.
Por ejemplo, el programa siguiente comprueba si el usuario es una persona autorizada:
personas_autorizadas = ["Alberto", "Carmen"]
nombre = input("Dígame su nombre: ")
if nombre not in personas_autorizadas:
print("No está autorizado")
else:
print("Está autorizado")
Para averiguar la posición de un valor dentro de una lista
Se usa la operación index()
Ejemplo:
dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
print(dias_laborables.index("Jueves"))
La salida por pantalla es:
3
Si el elemento no existe devuelve un error por lo cual es necesario verificar con antelación si
el elemento existe con la palabra clave in
Obtener el numero de elementos de una lista
Se utiliza la palabra clave len
Por ejemplo:
dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
tamano=len(dias_laborables)
print(tamano)
La salida por pantalla es:
5
Obtener el mínimo valor entre los elementos de una lista
Se utiliza la palabra clave min
Por ejemplo:
numeros_primos = [3,7,5,1]
minimo=min(numeros_primos)
print(minimo)
La salida por pantalla es:
1
Obtener el máximo valor entre los elementos de una lista
Se utiliza la palabra clave max
Por ejemplo:
numeros_primos = [3,7,5,1]
maximo=max(numeros_primos)
print(maximo)
La salida por pantalla es:
7
Invertir el orden de una lista
Se utiliza la palabra clave reverse
Por ejemplo:
numeros_primos = [3,7,5,1]
numeros_primos.reverse()
print(numeros_primos)
La salida por pantalla es:
[1, 5, 7, 3]
Ordenar los elementos de una lista en forma ascendente
Se utiliza la propiedad sort
Por ejemplo:
numeros_primos = [3,7,5,1]
numeros_primos.sort()
print(numeros_primos)
La salida por pantalla es:
[1, 3, 5, 7]
Ordenar los elementos de una lista en forma descendente
Se utiliza la propiedad sort con el parámetro (reverse=True)
Por ejemplo:
numeros_primos = [3,7,5,1]
numeros_primos.sort(reverse=True)
print(numeros_primos)
La salida por pantalla es:
[7, 5, 3, 1]
Recorrer los elementos de una lista
Forma directa
dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
for dia in dias_laborables:
print(dia)
La salida por pantalla es:
Lunes
Martes
Miercoles
Jueves
Viernes
Forma indirecta
dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]
i=0
while i<len(dias_laborables):
print(dias_laborables[i])
i=i+1
La salida por pantalla es:
Lunes
Martes
Miercoles
Jueves
Viernes
Extraer sublistas
Se puede extraer parte de una lista utilizando la notación nombre_lista[inicio : fin+1] por
ejemplo:
lista1 = ["A", "B", "C", "D", "E"]
print(lista1[0:3])
La salida por pantalla es:
['A', 'B', 'C']
y
print(lista1[:])
La salida por pantalla es:
['A', 'B', 'C', 'D', 'E']
Que equivale a todos los elementos de la lista.
Concatenar dos listas
Las listas se concatenan mediante el operador + siempre y cuando sean dos listas
El siguiente programa define dos listas una con dias_laborables y otra con dias_
no_laborables y las concatena en una nueva lista denominada dias_de_la_semana observe
que la lista resultante se puede imprimir usando la función print:
EASYGUI
Easygui es un módulo para python que permite generar ventanas mediante llamadas
simples a funciones.
Easygui no se encuentra disponible directamente en python, es necesario instalarlo para
que funcione. La versión de pyzo que se encuentra en la página del curso ya lo tiene en
funcionamiento, para que otros entornos de python revise su instalación en la siguiente
dirección
http://easygui.sourceforge.net/sourceforge_site_as_of_2014_11_21/download/version_0.9
6/index.html.
Para nuestro caso basta con descargar el pyzo de la página del curso, descomprimir e
importar al inicio del programa, así:
from easygui import *
Métodos principales de Easygui
Otras funcionalidades pueden ser consultadas en la siguiente enlace (en inglés):
http://easygui.sourceforge.net/tutorial.html
Mostar una ventana con un mensaje simple
Muestra un cuadro de dialogo con un mensaje
mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del
cuadro de texto
titulo título de la ventana
texto_boton es el texto que será mostrado en el botón
msgbox(mensaje, titulo, texto_boton)
El siguiente ejemplo muestra un simple cuadro de dialogo:
from easygui import *
mensaje="Mensaje"
titulo="Titulo"
texto_boton="Aceptar"
msgbox(mensaje, titulo, texto_boton)
Mostar una ventana con un texto específico o una lista
textbox(mensaje, titulo, texto)
mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del
cuadro de texto
titulo título de la ventana
texto puede ser un valor de tipo texto o una lista y constituye lo que se quiere mostrar
El siguiente ejemplo muestra la siguiente ventana:
from easygui import *
titulo="Titulo"
mensaje="Mensaje"
texto="Hola mundo"
textbox(mensaje, titulo, texto)
Ventana que solicita al usuario una cadena de caracteres
mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del
cuadro de texto
titulo título de la ventana
valor_inicial es una cadena de caracteres que se muestra por defecto en el cajón de texto
texto=enterbox(mensaje, titulo, valor_inicial)
El siguiente ejemplo muestra una ventana que solicita al usuario una cadena de caracteres y
el resultado lo almacena en la variable texto.
from easygui import *
titulo="Titulo"
mensaje="Mensaje"
valor_inicial="Ingrese una cadena por favor"
texto=enterbox(mensaje, titulo, valor_inicial)
Los valores ingresados por el usuario son almacenados en la variable texto que puede ser
definida con cualquier nombre y posteriormente usada en el transcurso del programa.
Ventana que solicita un número entero al usuario
Muestra un mensaje para que el usuario ingrese un número entero
mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del
cuadro de texto
titulo título de la ventana
valor_inicial es un número entero que se muestra por defecto
limite_inferior es el menor número entero que será aceptado
limite_superior es el mayor número entero que será aceptado
entero=integerbox(mensaje, titulo,valor_inicial, limite_inferior, limite_superior)
La ventana se mostrará repetidamente hasta que el usuario ingrese el valor correcto
El siguiente ejemplo muestra una ventana que solicita al usuario un número entero entre 1
y 50 como valor inicial pone 0 en el cuadro de dialogo.
El valor resultante se almacena en la variable entero.
from easygui import *
titulo="Titulo"
mensaje="Mensaje"
valor_inicial=0
limite_inferior=1
limite_superior=50
entero=integerbox(mensaje, titulo, valor_inicial, limite_inferior, limite_superior)
Ventana Si – No
Muestra un cuadro de dialogo con dos botones (cuyo título se puede definir) y devuelve 1 o
0 según la elección del usuario.
mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del
cuadro de texto
titulo título de la ventana
La tupla ("Si","No") se puede modificar para que los títulos de los botones tengan la
apariencia que el programador desee
ynbox(mensaje, titulo,("Si","No"))
El siguiente código muestra un cuadro de dialogo y según la elección del usuario imprime
por pantalla “Eligió aceptar” o “Eligió cancelar” según el caso
from easygui import *
mensaje = "¿Desea continuar?"
titulo = "Porfavor confirme"
if ynbox(mensaje, titulo,("Si","No"))==1 :
#Acciones si el usuario elije si
print("Eligio aceptar")
else:
#Acciones si el usuario elije no
print("Eligio cancelar")
El siguiente código hace lo mismo que el anterior solo que no se el resultado de ynbox no
se compara con 1
from easygui import *
mensaje = "¿Desea continuar?"
titulo = "Porfavor confirme"
if ynbox(mensaje, titulo,("Si","No")):
#Acciones si el usuario elije si
print("Eligio aceptar")
else:
#Acciones si el usuario elije no
print("Eligio cancelar")
Ventana de selección
Muestra una ventana con una lista de opciones de las cuales el usuario puede elegir una, su
acción se ejecuta cuando oprime el botón aceptar.
mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del
cuadro de texto
titulo título de la ventana
lista_opciones es una lista que contiene los textos de las diferentes opciones
choicebox(mensaje, titulo, lista_opciones)
El siguiente ejemplo muestra su funcionamiento
from easygui import *
mensaje ="Elija su opcion"
titulo = "Menu"
lista_opciones = ["Opcion 1", "Opcion 2", "Opcion 3"]
eleccion = choicebox(mensaje, titulo, lista_opciones)
if eleccion=="Opcion 1":
print("Eligio 1")
elif eleccion=="Opcion 2":
print("Eligio 2")
elif eleccion=="Opcion 3":
print("Eligio 3")
else:
print("El usuario elige cancelar")
Menú con ventanas para una aplicación
El siguiente código genera un menú de opciones con ventanas utilizando los elementos
anteriormente descritos que puede ser utilizado para sus proyectos y programas:
from easygui import *
while True:
mensaje ="Elija su opcion"
titulo = "Menu"
lista_opciones = ["Opcion 1", "Opcion 2", "Opcion 3"]
eleccion = choicebox(mensaje, titulo, lista_opciones)
if eleccion=="Opcion 1":
msgbox("Usted escogio: " + str(eleccion), "Eleccion")
elif eleccion=="Opcion 2":
msgbox("Usted escogio: " + str(eleccion), "Eleccion")
elif eleccion=="Opcion 3":
msgbox("Usted escogio: " + str(eleccion), "Eleccion")
else:
msgbox("Hasta pronto")
break
TALLER
1. VALOR (2.0) (Este programa debe ser creado con las funciones print e input, no debe
usar Easygui)
Defina una función Python con def que reciba como parámetro un número entero y que
devuelva verdadero si el número es primo y falso si el numero no es primo.
Cree un programa en python que defina una lista de números primos vacía [] y mediante un
ciclo llene la lista con los primeros 20 números primos.
Posteriormente debe imprimir la lista de los 20 números primos, la salida debe ser similar a
la siguiente:
1
3
5
7
etc.
Nota: Un valor booleano para una variable Python se define así
variable=True
o
variable=False
Existen los siguientes casos:
1. Si el número es igual a 1 es primo
2. Si el número es mayor que dos se evalúa para todos los números desde 2 hasta el número
si es divisible por dicho número.
2. VALOR (2.0) Modifique el programa creado en 1 para que solicite del usuario un número
entre 1 y 100 (utilizando ventanas Easygui), el programa debe evaluar si es primo o no
(mediante la función creada en 1), si es primo, lo agrega a la lista, de lo contrario muestra un
cuadro de dialogo que dice "No es primo".
El programa debe evaluar si el número ingresado se encuentra en la lista, si existe
previamente debe mostrar un mensaje que diga "El numero ya esta en la lista".
Si la lista no está vacía, debe mostrarla en una ventana y posteriormente mostrar una
ventana Si / No con el mensaje "Elija Si o No para Continuar".
Si el usuario selecciona Si, vuelve a solicitar un número entre 1 y 100 de lo contrario termina
el programa.
3. VALOR (1.0) Modifique el programa creado en 2 para que tenga un menú de opciones
(basado en ventanas de Easygui).
Sugerencia: puede basarse en el código (Menú con ventanas para una aplicación )
1. Agregar un numero primo
2. Eliminar un numero primo
3. Ordenar el listado
4. Mostrar la lista de números primos
5. Salir

Más contenido relacionado

La actualidad más candente (19)

Comandos java
Comandos javaComandos java
Comandos java
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
 
Trabajo dehoy (1)
Trabajo dehoy (1)Trabajo dehoy (1)
Trabajo dehoy (1)
 
Prog_II_archivo_guia_5
Prog_II_archivo_guia_5Prog_II_archivo_guia_5
Prog_II_archivo_guia_5
 
Estructura Básica de PHP
Estructura Básica de PHPEstructura Básica de PHP
Estructura Básica de PHP
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Estructurada 7
Estructurada 7Estructurada 7
Estructurada 7
 
2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby
 
Personalizar gui guia_3
Personalizar gui guia_3Personalizar gui guia_3
Personalizar gui guia_3
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
 
Fun consola guia_01
Fun consola guia_01Fun consola guia_01
Fun consola guia_01
 
Prog_II_Eventos_guia_2
Prog_II_Eventos_guia_2Prog_II_Eventos_guia_2
Prog_II_Eventos_guia_2
 
Php
PhpPhp
Php
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Triggers ii
Triggers iiTriggers ii
Triggers ii
 
1
11
1
 
Php
PhpPhp
Php
 

Similar a Listas y ventanas EasyGUI

Similar a Listas y ventanas EasyGUI (20)

Python04
Python04Python04
Python04
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
Python03
Python03Python03
Python03
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
9. listas y for-in
9.  listas y for-in9.  listas y for-in
9. listas y for-in
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++
 
Phpactividad3
Phpactividad3Phpactividad3
Phpactividad3
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Django y Python para todos
Django y Python para todosDjango y Python para todos
Django y Python para todos
 
Python05
Python05Python05
Python05
 
Funciones con arrays y vectores en c
Funciones con arrays y vectores en cFunciones con arrays y vectores en c
Funciones con arrays y vectores en c
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Clase 1 - Python
Clase 1 - PythonClase 1 - Python
Clase 1 - Python
 
EXPO PYTHON.pptx
EXPO PYTHON.pptxEXPO PYTHON.pptx
EXPO PYTHON.pptx
 
02 introduccion a python
02 introduccion a python02 introduccion a python
02 introduccion a python
 
Manuales ...
Manuales ...Manuales ...
Manuales ...
 
Escuela superior politecnica de chimborazo
Escuela superior politecnica de chimborazoEscuela superior politecnica de chimborazo
Escuela superior politecnica de chimborazo
 
Introduccion clips
Introduccion clipsIntroduccion clips
Introduccion clips
 

Más de Albert Page

Taller de introduccion a python con turtle
Taller de  introduccion a python  con  turtleTaller de  introduccion a python  con  turtle
Taller de introduccion a python con turtleAlbert Page
 
Taller de matrices y sistemas de ecuaciones lineales
Taller de matrices y sistemas de ecuaciones linealesTaller de matrices y sistemas de ecuaciones lineales
Taller de matrices y sistemas de ecuaciones linealesAlbert Page
 
Matrices - álgebra lineal
Matrices - álgebra linealMatrices - álgebra lineal
Matrices - álgebra linealAlbert Page
 
Matrices elementales e inversas
Matrices elementales e inversasMatrices elementales e inversas
Matrices elementales e inversasAlbert Page
 
Determinantes - álgebra lineal
 Determinantes - álgebra lineal Determinantes - álgebra lineal
Determinantes - álgebra linealAlbert Page
 
Sistemas de ecuaciones lineales
Sistemas de ecuaciones linealesSistemas de ecuaciones lineales
Sistemas de ecuaciones linealesAlbert Page
 
Taller de vectores. Álgebra lineal
Taller de vectores. Álgebra linealTaller de vectores. Álgebra lineal
Taller de vectores. Álgebra linealAlbert Page
 
Ejercicios de física
Ejercicios de físicaEjercicios de física
Ejercicios de físicaAlbert Page
 

Más de Albert Page (8)

Taller de introduccion a python con turtle
Taller de  introduccion a python  con  turtleTaller de  introduccion a python  con  turtle
Taller de introduccion a python con turtle
 
Taller de matrices y sistemas de ecuaciones lineales
Taller de matrices y sistemas de ecuaciones linealesTaller de matrices y sistemas de ecuaciones lineales
Taller de matrices y sistemas de ecuaciones lineales
 
Matrices - álgebra lineal
Matrices - álgebra linealMatrices - álgebra lineal
Matrices - álgebra lineal
 
Matrices elementales e inversas
Matrices elementales e inversasMatrices elementales e inversas
Matrices elementales e inversas
 
Determinantes - álgebra lineal
 Determinantes - álgebra lineal Determinantes - álgebra lineal
Determinantes - álgebra lineal
 
Sistemas de ecuaciones lineales
Sistemas de ecuaciones linealesSistemas de ecuaciones lineales
Sistemas de ecuaciones lineales
 
Taller de vectores. Álgebra lineal
Taller de vectores. Álgebra linealTaller de vectores. Álgebra lineal
Taller de vectores. Álgebra lineal
 
Ejercicios de física
Ejercicios de físicaEjercicios de física
Ejercicios de física
 

Último

proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 

Último (20)

proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 

Listas y ventanas EasyGUI

  • 1. TALLER LISTAS Y VENTANAS CON EASYGUI Resumen talleres anteriores En el taller de gráficos tortuga, se dio una noción intuitiva del concepto de subrutina y función de Python. En ciertos momentos un programador puede necesitar efectuar una misma tarea en distintos puntos del programa o repetirla un cierto número de veces. Para evitar tener que volver a escribir una y otra vez las mismas instrucciones, Python permiten agrupar porciones de programa y reutilizarlas cuando sea necesario utilizando la palabra clave def. En los gráficos tortuga, puede ser tedioso escribir las instrucciones para dibujar un cuadrado cada vez que se necesite, utilizando la palabra clave def se puede construir un procedimiento que dibuje un cuadrado y llamarlo por su nombre cada vez que sea necesario. El siguiente ejemplo dibuja un cuadrado 2 veces, separado cierta distancia: Note la diferencia entre la definición del procedimiento y su llamada. El bloque def y las instrucciones que están bajo 4 espacios equivalen a la definición y dibuja_cuadrado() es la llamada al procedimiento. No es obligatorio, pero es deseable ubicar las definiciones y las llamadas de la siguiente manera:
  • 2. En las primeras líneas los módulos que necesita el programa, posteriormente las definiciones y por último el programa principal o las llamadas a los procedimientos o funciones. Como lo muestra la figura anterior se hace una distinción conceptual entre procedimiento y función la diferencia entre los dos radica en que el procedimiento no tiene la palabra clave return mientras que una función si. Técnicamente el procedimiento ejecuta ciertas instrucciones pero no devuelve un resultado procesado al programa, en cambio la función devuelve un resultado al programa mediante la palabra clave return El código siguiente muestra las diferencias entre procedimientos y funciones:
  • 3. Listas y Tuplas Tuplas Son tipos de datos inmutables eso quiere decir que una vez definidos no se pueden modificar, Las operaciones de las listas son aplicables a las tuplas menos las que impliquen modificiones (agregar, insertar, modificar o eliminar elementos). Se definen con paréntesis separados por comas Ejemplo: numeros_digitos=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) El resto del taller se dedicará en su mayoría a las listas. Listas Las listas son conjuntos ordenados de elementos (números, cadenas, listas, etc). Las listas se delimitan por corchetes ([ ]) y los elementos se separan por comas. Las listas pueden contener elementos del mismo tipo, por ejemplo: primos = [2, 3, 5, 7, 11, 13] dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] Pueden contener elementos de tipos distintos: fecha = ["Lunes", 27, "Octubre", 1997] O pueden contener a otras listas: dias_de_la_semana = [ ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] , ["Sabado", "Domingo"]] Es posible acceder a cada uno de los elementos por medio de un índice que va desde 0 hasta el número de elementos. La lista vacía se define por [ ]
  • 4. Operaciones con listas Imprimir por pantalla un elemento de la lista nombres = ["Pedro", "Juan", "Carlos"] print(nombres[2]) La salida por pantalla es: Carlos Modificar un elemento nombres = ["Pedro", "Juan", "Carlos"] nombres[0]= "Luis" print(nombres) La salida por pantalla es: ['Luis', 'Juan', 'Carlos'] Agregar elementos al final nombres = ["Pedro", "Juan", "Carlos"] nombres.append("Maria") print(nombres) La salida por pantalla es: ['Luis', 'Juan', 'Carlos', 'Maria'] Agregar elementos en una posición específica nombres = ["Pedro", "Juan", "Carlos"] nombres.insert(1,"Sara") print(nombres) La salida por pantalla es: ['Pedro', 'Sara', 'Juan', 'Carlos'] nombres = ["Pedro", "Juan", "Carlos"] nombres.insert(2,"Juliana") print(nombres) La salida por pantalla es: ['Pedro', 'Juan', 'Juliana', 'Carlos']
  • 5. Borrar un índice específico nombres = ["Pedro", "Juan", "Carlos"] del nombres[2] print(nombres) La salida por pantalla es: ['Pedro', 'Juan'] Saber si un valor está o no en una lista Para saber si un valor está en una lista se puede utilizar el operador in. La sintaxis sería "elemento in lista" y devuelve un valor lógico: True si el elemento está en la lista, False si el elemento no está en la lista. Por ejemplo, el programa siguiente comprueba si el usuario es una persona autorizada: personas_autorizadas = ["Alberto", "Carmen"] nombre = input("Dígame su nombre: ") if nombre in personas_autorizadas: print("Está autorizado") else: print("No está autorizado") Para saber si un valor no está en una lista se pueden utilizar los operadores not in. La sintaxis sería "elemento not in lista" y devuelve un valor lógico: True si el elemento no está en la lista, False si el elemento está en la lista. Por ejemplo, el programa siguiente comprueba si el usuario es una persona autorizada: personas_autorizadas = ["Alberto", "Carmen"] nombre = input("Dígame su nombre: ") if nombre not in personas_autorizadas: print("No está autorizado") else: print("Está autorizado") Para averiguar la posición de un valor dentro de una lista Se usa la operación index() Ejemplo: dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] print(dias_laborables.index("Jueves")) La salida por pantalla es: 3
  • 6. Si el elemento no existe devuelve un error por lo cual es necesario verificar con antelación si el elemento existe con la palabra clave in Obtener el numero de elementos de una lista Se utiliza la palabra clave len Por ejemplo: dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] tamano=len(dias_laborables) print(tamano) La salida por pantalla es: 5 Obtener el mínimo valor entre los elementos de una lista Se utiliza la palabra clave min Por ejemplo: numeros_primos = [3,7,5,1] minimo=min(numeros_primos) print(minimo) La salida por pantalla es: 1 Obtener el máximo valor entre los elementos de una lista Se utiliza la palabra clave max Por ejemplo: numeros_primos = [3,7,5,1] maximo=max(numeros_primos) print(maximo) La salida por pantalla es: 7 Invertir el orden de una lista Se utiliza la palabra clave reverse Por ejemplo: numeros_primos = [3,7,5,1] numeros_primos.reverse() print(numeros_primos)
  • 7. La salida por pantalla es: [1, 5, 7, 3] Ordenar los elementos de una lista en forma ascendente Se utiliza la propiedad sort Por ejemplo: numeros_primos = [3,7,5,1] numeros_primos.sort() print(numeros_primos) La salida por pantalla es: [1, 3, 5, 7] Ordenar los elementos de una lista en forma descendente Se utiliza la propiedad sort con el parámetro (reverse=True) Por ejemplo: numeros_primos = [3,7,5,1] numeros_primos.sort(reverse=True) print(numeros_primos) La salida por pantalla es: [7, 5, 3, 1] Recorrer los elementos de una lista Forma directa dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] for dia in dias_laborables: print(dia) La salida por pantalla es: Lunes Martes Miercoles Jueves Viernes
  • 8. Forma indirecta dias_laborables = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"] i=0 while i<len(dias_laborables): print(dias_laborables[i]) i=i+1 La salida por pantalla es: Lunes Martes Miercoles Jueves Viernes Extraer sublistas Se puede extraer parte de una lista utilizando la notación nombre_lista[inicio : fin+1] por ejemplo: lista1 = ["A", "B", "C", "D", "E"] print(lista1[0:3]) La salida por pantalla es: ['A', 'B', 'C'] y print(lista1[:]) La salida por pantalla es: ['A', 'B', 'C', 'D', 'E'] Que equivale a todos los elementos de la lista. Concatenar dos listas Las listas se concatenan mediante el operador + siempre y cuando sean dos listas El siguiente programa define dos listas una con dias_laborables y otra con dias_ no_laborables y las concatena en una nueva lista denominada dias_de_la_semana observe que la lista resultante se puede imprimir usando la función print:
  • 9. EASYGUI Easygui es un módulo para python que permite generar ventanas mediante llamadas simples a funciones. Easygui no se encuentra disponible directamente en python, es necesario instalarlo para que funcione. La versión de pyzo que se encuentra en la página del curso ya lo tiene en funcionamiento, para que otros entornos de python revise su instalación en la siguiente dirección http://easygui.sourceforge.net/sourceforge_site_as_of_2014_11_21/download/version_0.9 6/index.html. Para nuestro caso basta con descargar el pyzo de la página del curso, descomprimir e importar al inicio del programa, así: from easygui import * Métodos principales de Easygui Otras funcionalidades pueden ser consultadas en la siguiente enlace (en inglés): http://easygui.sourceforge.net/tutorial.html Mostar una ventana con un mensaje simple Muestra un cuadro de dialogo con un mensaje mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del cuadro de texto titulo título de la ventana texto_boton es el texto que será mostrado en el botón msgbox(mensaje, titulo, texto_boton) El siguiente ejemplo muestra un simple cuadro de dialogo:
  • 10. from easygui import * mensaje="Mensaje" titulo="Titulo" texto_boton="Aceptar" msgbox(mensaje, titulo, texto_boton) Mostar una ventana con un texto específico o una lista textbox(mensaje, titulo, texto) mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del cuadro de texto titulo título de la ventana texto puede ser un valor de tipo texto o una lista y constituye lo que se quiere mostrar El siguiente ejemplo muestra la siguiente ventana: from easygui import * titulo="Titulo" mensaje="Mensaje" texto="Hola mundo" textbox(mensaje, titulo, texto) Ventana que solicita al usuario una cadena de caracteres mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del cuadro de texto titulo título de la ventana valor_inicial es una cadena de caracteres que se muestra por defecto en el cajón de texto
  • 11. texto=enterbox(mensaje, titulo, valor_inicial) El siguiente ejemplo muestra una ventana que solicita al usuario una cadena de caracteres y el resultado lo almacena en la variable texto. from easygui import * titulo="Titulo" mensaje="Mensaje" valor_inicial="Ingrese una cadena por favor" texto=enterbox(mensaje, titulo, valor_inicial) Los valores ingresados por el usuario son almacenados en la variable texto que puede ser definida con cualquier nombre y posteriormente usada en el transcurso del programa. Ventana que solicita un número entero al usuario Muestra un mensaje para que el usuario ingrese un número entero mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del cuadro de texto titulo título de la ventana valor_inicial es un número entero que se muestra por defecto limite_inferior es el menor número entero que será aceptado limite_superior es el mayor número entero que será aceptado entero=integerbox(mensaje, titulo,valor_inicial, limite_inferior, limite_superior) La ventana se mostrará repetidamente hasta que el usuario ingrese el valor correcto El siguiente ejemplo muestra una ventana que solicita al usuario un número entero entre 1 y 50 como valor inicial pone 0 en el cuadro de dialogo. El valor resultante se almacena en la variable entero.
  • 12. from easygui import * titulo="Titulo" mensaje="Mensaje" valor_inicial=0 limite_inferior=1 limite_superior=50 entero=integerbox(mensaje, titulo, valor_inicial, limite_inferior, limite_superior) Ventana Si – No Muestra un cuadro de dialogo con dos botones (cuyo título se puede definir) y devuelve 1 o 0 según la elección del usuario. mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del cuadro de texto titulo título de la ventana La tupla ("Si","No") se puede modificar para que los títulos de los botones tengan la apariencia que el programador desee ynbox(mensaje, titulo,("Si","No")) El siguiente código muestra un cuadro de dialogo y según la elección del usuario imprime por pantalla “Eligió aceptar” o “Eligió cancelar” según el caso from easygui import * mensaje = "¿Desea continuar?" titulo = "Porfavor confirme" if ynbox(mensaje, titulo,("Si","No"))==1 : #Acciones si el usuario elije si print("Eligio aceptar") else: #Acciones si el usuario elije no print("Eligio cancelar")
  • 13. El siguiente código hace lo mismo que el anterior solo que no se el resultado de ynbox no se compara con 1 from easygui import * mensaje = "¿Desea continuar?" titulo = "Porfavor confirme" if ynbox(mensaje, titulo,("Si","No")): #Acciones si el usuario elije si print("Eligio aceptar") else: #Acciones si el usuario elije no print("Eligio cancelar") Ventana de selección Muestra una ventana con una lista de opciones de las cuales el usuario puede elegir una, su acción se ejecuta cuando oprime el botón aceptar. mensaje cadena de caracteres que aparece en el centro del cuadro de dialogo antes del cuadro de texto titulo título de la ventana lista_opciones es una lista que contiene los textos de las diferentes opciones choicebox(mensaje, titulo, lista_opciones) El siguiente ejemplo muestra su funcionamiento from easygui import * mensaje ="Elija su opcion" titulo = "Menu" lista_opciones = ["Opcion 1", "Opcion 2", "Opcion 3"] eleccion = choicebox(mensaje, titulo, lista_opciones)
  • 14. if eleccion=="Opcion 1": print("Eligio 1") elif eleccion=="Opcion 2": print("Eligio 2") elif eleccion=="Opcion 3": print("Eligio 3") else: print("El usuario elige cancelar") Menú con ventanas para una aplicación El siguiente código genera un menú de opciones con ventanas utilizando los elementos anteriormente descritos que puede ser utilizado para sus proyectos y programas: from easygui import * while True: mensaje ="Elija su opcion" titulo = "Menu" lista_opciones = ["Opcion 1", "Opcion 2", "Opcion 3"] eleccion = choicebox(mensaje, titulo, lista_opciones) if eleccion=="Opcion 1": msgbox("Usted escogio: " + str(eleccion), "Eleccion") elif eleccion=="Opcion 2": msgbox("Usted escogio: " + str(eleccion), "Eleccion") elif eleccion=="Opcion 3": msgbox("Usted escogio: " + str(eleccion), "Eleccion") else: msgbox("Hasta pronto") break
  • 15. TALLER 1. VALOR (2.0) (Este programa debe ser creado con las funciones print e input, no debe usar Easygui) Defina una función Python con def que reciba como parámetro un número entero y que devuelva verdadero si el número es primo y falso si el numero no es primo. Cree un programa en python que defina una lista de números primos vacía [] y mediante un ciclo llene la lista con los primeros 20 números primos. Posteriormente debe imprimir la lista de los 20 números primos, la salida debe ser similar a la siguiente: 1 3 5 7 etc. Nota: Un valor booleano para una variable Python se define así variable=True o variable=False Existen los siguientes casos: 1. Si el número es igual a 1 es primo 2. Si el número es mayor que dos se evalúa para todos los números desde 2 hasta el número si es divisible por dicho número. 2. VALOR (2.0) Modifique el programa creado en 1 para que solicite del usuario un número entre 1 y 100 (utilizando ventanas Easygui), el programa debe evaluar si es primo o no (mediante la función creada en 1), si es primo, lo agrega a la lista, de lo contrario muestra un cuadro de dialogo que dice "No es primo". El programa debe evaluar si el número ingresado se encuentra en la lista, si existe previamente debe mostrar un mensaje que diga "El numero ya esta en la lista". Si la lista no está vacía, debe mostrarla en una ventana y posteriormente mostrar una ventana Si / No con el mensaje "Elija Si o No para Continuar". Si el usuario selecciona Si, vuelve a solicitar un número entre 1 y 100 de lo contrario termina el programa. 3. VALOR (1.0) Modifique el programa creado en 2 para que tenga un menú de opciones (basado en ventanas de Easygui). Sugerencia: puede basarse en el código (Menú con ventanas para una aplicación )
  • 16. 1. Agregar un numero primo 2. Eliminar un numero primo 3. Ordenar el listado 4. Mostrar la lista de números primos 5. Salir