SlideShare una empresa de Scribd logo
Aprendiendo a Programar en
… con mi computadora y todo lo que
encuentre disponible.
Ejercicios
parte 4.
for i in range(cant_digitos):
candidato = random.choice(digitos)
# eligiendo dígitos no repetidos
while candidato in codigo:
candidato = random.choice(digitos)
codigo = codigo + candidato
¿Qué hora es? ¡Hora de jugar!
# interacción con el usuario
print "Bienvenido a mente maestra"
print “Debe adivinar un número de",
cant_digitos, 
"cifras distintas"
propuesta =
raw_input("Que código propones?: ")
# procesando propuestas e indicando aciertos
# y coincidencias
intentos = 1
¿Qué hora es? ¡Hora de jugar!
while propuesta != codigo and propuesta !=
"Me doy":
intentos = intentos + 1
aciertos = 0
coincidencias = 0
# recorre propuesta y verifica en el código
for i in range(cant_digitos):
if propuesta[i] == codigo[i]:
aciertos = aciertos + 1
elif propuesta[i] in codigo:
coincidencias = coincidencias + 1
¿Qué hora es? ¡Hora de jugar!
print "Tu propuesta (", propuesta, ") tiene",
aciertos, 
"aciertos y ", coincidencias, "coincidencias."
# pedimos siguiente propuesta
propuesta =
raw_input("Propone otro codigo: ")
if propuesta == "Me doy":
print "El código era", codigo
print "Suerte la próxima vez!"
else:
print "Felicidades! Adivinaste el código en", 
intentos, "intentos."
¿Qué hora es? ¡Hora de jugar!
Listas.
Se usan listas para poder modelar datos
compuestos pero cuya cantidad y valor
varían a lo largo del tiempo.
Son secuencias mutables y vienen
dotadas de una variedad de operaciones
muy útiles.
La notación para lista es una secuencia de
valores encerrados entre corchetes y
separados por comas.
 A las listas también se les puede aplicar la
función len() para conocer su longitud.
 Para acceder a los distintos elementos de la
lista se utilizará la misma notación de
índices de cadenas y tuplas, con valores
que van de 0 a la longitud de la lista -1.
>>> xs=[78455, 89211, 66540, 45750]
>>> xs[0]
78455
>>> len(xs)
4
Listas.
>>> xs[4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> xs[3]
45750
Listas.
Para una sublista a partir de la original, se
utiliza la notación de rangos.
 Para una lista que contiene sólo el segundo
registro escriba: >>> xs[1:2]
 [89211]
 Para el segundo y tercer registro escriba:
>>> xs[1:3]
 [89211, 66540]
 Para la lista que contiene al primero y
segundo registro escriba: >>> xs[:2]
 [78455, 89211]
Listas.
 Para cambiar un componente de una lista, se
selecciona el componente mediante su índice
y se le asigna el nuevo valor:
 >>> xs[1]=79211
 >>> xs
 [78455, 79211, 66540, 45750]
 Para agregar un nuevo valor al final de la
lista se utiliza la operación append().
 >>> xs.append(47890)
#agregar el valor 47890 al final de xs.
 >>> xs
 [78455, 79211, 66540, 45750, 47890]
 >>>
Listas.
 Insertar un nuevo valor en la posición del
índice k (y desplazar un lugar el resto de la
lista) necesita la operación insert().
 >>> xs.insert(2, 54988)
#para insertar 54988 en la tercera
#posición
 >>> xs
 [78455, 79211, 54988, 66540, 45750,
47890]
Listas.
 Las listas no controlan si se insertan
elementos repetidos, para exigir unicidad,
debe hacerlo mediante código.
 >>> xs.insert(1,78455)
 >>> xs
 [78455, 78455, 79211, 54988, 66540,
45750, 47890]
Listas.
 Eliminar un valor de una lista necesita la
operación remove().
 >>> xs.remove(45750)
#para borrar el 45750 de la lista
 >>> xs
 [78455, 78455, 79211, 54988, 66540,
47890]
 Si el valor a borrar está repetido, se borra
sólo su primera aparición:
 >>> xs.remove(78455)
 >>> xs
 [78455, 79211, 54988, 66540, 47890]
Listas.
 Preguntar si un valor determinado es un
elemento de una lista necesita la operación
in:
 >>> xs
 [78455, 79211, 54988, 66540, 47890]
 >>> 78 in xs
 False
 >>> 66540 in xs
 True
 >>>
 Ésto puede usarse para todas las
secuencias, incluyendo tuplas y cadenas.
Listas.
 Averiguar la posición de un valor dentro de
una lista usa la operación index().
 >>> xs.index(78455)
 0
 >>> xs.index(47890)
 4
 Si no se encuentra, se produce un error:
 >>> xs.index(78)
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ValueError: list.index(x): x not in list
Listas.
 Si el valor está repetido, el índice devuelto
es el de la primera aparición:
 >>> ys=[10,20,10]
 >>> ys.index(10)
 0
Listas.
 Para iterar sobre todos los elementos de
una lista use un ciclo for:
>>> zs = [5, 3, 8, 10, 2]
>>> for x in zs:
print x
5
3
8
10
2
Ésto se puede utilizar sobre cualquier
secuencia, incluyendo tuplas y cadenas.
Listas.
Las listas, tuplas y cadenas son parte del
conjunto de las secuencias y cuentan con
las operaciones siguientes:
Listas.
Operaciones de las secuencias:
 x in s Indica si la variable x se encuentra en s
 s + t Concantena s con t.
 s * n Concatena n copias de s.
 s[i] Elemento i de s, empezando por 0.
 s[i:j] Porción de la secuencia s desde i hasta j
(no inclusive).
 s[i:j:k] Porción de la secuencia s desde i hasta j
(no inclusive), con paso k.
 len(s) Cantidad de elementos de la secuencia
s.
 min(s) Mínimo elemento de la secuencia s.
 max(s) Máximo elemento de la secuencia s.
Listas.
Armar la lista de los inscritos en una
materia:
1. El usuario ingresa datos de estudiantes
que se van guardando en una lista.
2. El programa solicitará al usuario que
ingrese uno a uno los listados de los
inscritos. Con esos registros construirá
una lista, que al final se mostrará.
Listas.
#!/usr/bin/env python
# encoding: latin1
""" Módulo para inscribir alumnos al curso """
# Inicia la interacción con el usuario
print "Inscripción en el curso IA"
# Se lee el primer listado
listado=input("Ingresa un listado (<=0 para
terminar): ")
# Procesando los listado
# Inicialmente no hay inscritos
Listas.
ins = []
while listado > 0:
# Agrega el listado leído a la lista de
inscritos
ins.append(listado)
# Lee otro listado más
listado=input("Ingresá un listado (<=0 para
terminar): ")
# Muestra el resultado
print "Esta es la lista de inscritos: ", ins
Listas.
#!/usr/bin/env python
# encoding: latin1
""" Módulo para inscribir al curso IA """
# Inicia la interacción con el usuario
print "Inscripción en el curso IA"
# Lee el primer listado
listado=input
("Ingresa un listado (<=0 para terminar): ")
# Procesa los listados
# Inicialmente no hay inscritos
Listas.
ins = []
while listado > 0:
# Si no está, agrega a la lista de inscritos,
if listado not in ins:
ins.append(listado)
# de lo contrario avisa que ya existe
else:
print "Ya existe en la lista"
# Lee otro listado más
listado=input("Ingresá un listado (<=0 para
terminar): ")
# Muestra el resultado
print "Esta es la lista de inscritos: ", ins
Listas.
Ejercicios:
1. Permitir que los alumnos se puedan
inscribir o borrar.
2. Inscribir y borrar alumnos como antes,
pero registrar también el nombre y
apellido de la persona inscrita.
Listas.

Más contenido relacionado

PPTX
Ejercicios con Python parte 05
PPTX
Ejercicios Python Parte 2
PPTX
Ejercicios con Python parte 3
PPT
Python02
PPT
Python05
PPT
Python03
PPT
Lección No. 1 de Python
PDF
Semana 3 Fundamentos de Python(Funciones y Métodos)
Ejercicios con Python parte 05
Ejercicios Python Parte 2
Ejercicios con Python parte 3
Python02
Python05
Python03
Lección No. 1 de Python
Semana 3 Fundamentos de Python(Funciones y Métodos)

La actualidad más candente (20)

PPT
Arreglos en C
PDF
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
PPTX
10 programas de if
PDF
Clase 9- programacion
PPTX
Arreglos, Procedimientos y Funciones
ODP
01 el lenguaje Python
PDF
PDF
Descubriendo scala
DOC
Apuntadores y direccionamiento
PPT
Arreglos
DOCX
Ejercicios con bucles repetitivos
PDF
Switch case (informe_19)
DOCX
Ejercicios de matrices y vectores en c++
DOCX
dqwrwer
PPTX
Tipo de dato DOUBLE
PPTX
Programa en java con el Metodo de la burbuja
PPTX
0.1 Enbarcadero I
PPSX
Aplicación de arreglos bidimensionales
DOCX
Ejercicios Whule y Do While
Arreglos en C
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
10 programas de if
Clase 9- programacion
Arreglos, Procedimientos y Funciones
01 el lenguaje Python
Descubriendo scala
Apuntadores y direccionamiento
Arreglos
Ejercicios con bucles repetitivos
Switch case (informe_19)
Ejercicios de matrices y vectores en c++
dqwrwer
Tipo de dato DOUBLE
Programa en java con el Metodo de la burbuja
0.1 Enbarcadero I
Aplicación de arreglos bidimensionales
Ejercicios Whule y Do While
Publicidad

Similar a Ejercicios Python parte 4 (20)

PPTX
Unidad 2.4 Programación en Python Listas (3).pptx
PPTX
Listas usadas en Python es relevante.pptx
PDF
MatricesYVectoresIntroduccionnUMPY......
PDF
9. listas y for-in
PDF
Listas de Fundamentos de Programación 2024
PDF
jhon anton 31.184.245 (declaraciones Listas).pdf
PPTX
que son las listas en python y su uso.pptx
PDF
Python para principiantes
PDF
DECLARACION DE LISTAS 1.pdf
PDF
Semana 4 Estructuras de datos(Listas)
PPT
Python04
PDF
Curso de Python
PDF
Ejercicios programacion prolog
PPSX
Listas en el lenguaje de programación Python
PPT
Curso programacionpython Clase 1
DOCX
kjfbdj fgdgf dfd gdkfjkfd fbdgkj jfbgd ffb djkgfbkdf
PPT
Algoritmos
PPT
PDF
Estructuras de datos Listas enlazadas pdf
PPTX
aprendizaje de. programacion en python1.pptx
Unidad 2.4 Programación en Python Listas (3).pptx
Listas usadas en Python es relevante.pptx
MatricesYVectoresIntroduccionnUMPY......
9. listas y for-in
Listas de Fundamentos de Programación 2024
jhon anton 31.184.245 (declaraciones Listas).pdf
que son las listas en python y su uso.pptx
Python para principiantes
DECLARACION DE LISTAS 1.pdf
Semana 4 Estructuras de datos(Listas)
Python04
Curso de Python
Ejercicios programacion prolog
Listas en el lenguaje de programación Python
Curso programacionpython Clase 1
kjfbdj fgdgf dfd gdkfjkfd fbdgkj jfbgd ffb djkgfbkdf
Algoritmos
Estructuras de datos Listas enlazadas pdf
aprendizaje de. programacion en python1.pptx
Publicidad

Más de Facultad de Ciencias y Sistemas (20)

PDF
PDF
09 ordenamiento-en-vectores-en-c
PDF
08 mas-de-vectores-en-c
PDF
07 vectores-en-c final
PDF
05 cadenas-de-caracteres-en-c
PDF
04 mas-estructuras-iterativas-en-c
PDF
03 estructuras-iterativas-en-c
PDF
02 mas-de-las-estructuras-de-programacion-en-c
PDF
01 estructuras-de-programacion-en-c
PDF
Procesamiento del lenguaje natural con python
PPTX
Actividades de aprendizaje en Moodle
PPTX
Creación de grupos en Moodle
PPTX
Introducción a la progrogramación orientada a objetos con Java
PPTX
Como crear un diagrama de clases
PDF
Diagrama de clases - Ejemplo monográfico 02
PDF
Diagrama de clases - Ejemplo monográfico 01
PPTX
Otro ejemplo de diagrama de clases UML
PPTX
Un ejemplo de diagrama de clases
09 ordenamiento-en-vectores-en-c
08 mas-de-vectores-en-c
07 vectores-en-c final
05 cadenas-de-caracteres-en-c
04 mas-estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
02 mas-de-las-estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
Procesamiento del lenguaje natural con python
Actividades de aprendizaje en Moodle
Creación de grupos en Moodle
Introducción a la progrogramación orientada a objetos con Java
Como crear un diagrama de clases
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 01
Otro ejemplo de diagrama de clases UML
Un ejemplo de diagrama de clases

Último (20)

PDF
Metodologías Activas con herramientas IAG
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
biología es un libro sobre casi todo el tema de biología
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Metodologías Activas con herramientas IAG
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
2 GRADO UNIDAD 5 - 2025.docx para primaria
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
Cosacos y hombres del Este en el Heer.ppt
Punto Critico - Brian Tracy Ccesa007.pdf
biología es un libro sobre casi todo el tema de biología
V UNIDAD - PRIMER GRADO. del mes de agosto
ciencias-1.pdf libro cuarto basico niños
Lección 6 Escuela Sab. A través del mar rojo.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Tomo 1 de biologia gratis ultra plusenmas
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf

Ejercicios Python parte 4

  • 1. Aprendiendo a Programar en … con mi computadora y todo lo que encuentre disponible. Ejercicios parte 4.
  • 2. for i in range(cant_digitos): candidato = random.choice(digitos) # eligiendo dígitos no repetidos while candidato in codigo: candidato = random.choice(digitos) codigo = codigo + candidato ¿Qué hora es? ¡Hora de jugar!
  • 3. # interacción con el usuario print "Bienvenido a mente maestra" print “Debe adivinar un número de", cant_digitos, "cifras distintas" propuesta = raw_input("Que código propones?: ") # procesando propuestas e indicando aciertos # y coincidencias intentos = 1 ¿Qué hora es? ¡Hora de jugar!
  • 4. while propuesta != codigo and propuesta != "Me doy": intentos = intentos + 1 aciertos = 0 coincidencias = 0 # recorre propuesta y verifica en el código for i in range(cant_digitos): if propuesta[i] == codigo[i]: aciertos = aciertos + 1 elif propuesta[i] in codigo: coincidencias = coincidencias + 1 ¿Qué hora es? ¡Hora de jugar!
  • 5. print "Tu propuesta (", propuesta, ") tiene", aciertos, "aciertos y ", coincidencias, "coincidencias." # pedimos siguiente propuesta propuesta = raw_input("Propone otro codigo: ") if propuesta == "Me doy": print "El código era", codigo print "Suerte la próxima vez!" else: print "Felicidades! Adivinaste el código en", intentos, "intentos." ¿Qué hora es? ¡Hora de jugar!
  • 6. Listas. Se usan listas para poder modelar datos compuestos pero cuya cantidad y valor varían a lo largo del tiempo. Son secuencias mutables y vienen dotadas de una variedad de operaciones muy útiles. La notación para lista es una secuencia de valores encerrados entre corchetes y separados por comas.
  • 7.  A las listas también se les puede aplicar la función len() para conocer su longitud.  Para acceder a los distintos elementos de la lista se utilizará la misma notación de índices de cadenas y tuplas, con valores que van de 0 a la longitud de la lista -1. >>> xs=[78455, 89211, 66540, 45750] >>> xs[0] 78455 >>> len(xs) 4 Listas.
  • 8. >>> xs[4] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range >>> xs[3] 45750 Listas.
  • 9. Para una sublista a partir de la original, se utiliza la notación de rangos.  Para una lista que contiene sólo el segundo registro escriba: >>> xs[1:2]  [89211]  Para el segundo y tercer registro escriba: >>> xs[1:3]  [89211, 66540]  Para la lista que contiene al primero y segundo registro escriba: >>> xs[:2]  [78455, 89211] Listas.
  • 10.  Para cambiar un componente de una lista, se selecciona el componente mediante su índice y se le asigna el nuevo valor:  >>> xs[1]=79211  >>> xs  [78455, 79211, 66540, 45750]  Para agregar un nuevo valor al final de la lista se utiliza la operación append().  >>> xs.append(47890) #agregar el valor 47890 al final de xs.  >>> xs  [78455, 79211, 66540, 45750, 47890]  >>> Listas.
  • 11.  Insertar un nuevo valor en la posición del índice k (y desplazar un lugar el resto de la lista) necesita la operación insert().  >>> xs.insert(2, 54988) #para insertar 54988 en la tercera #posición  >>> xs  [78455, 79211, 54988, 66540, 45750, 47890] Listas.
  • 12.  Las listas no controlan si se insertan elementos repetidos, para exigir unicidad, debe hacerlo mediante código.  >>> xs.insert(1,78455)  >>> xs  [78455, 78455, 79211, 54988, 66540, 45750, 47890] Listas.
  • 13.  Eliminar un valor de una lista necesita la operación remove().  >>> xs.remove(45750) #para borrar el 45750 de la lista  >>> xs  [78455, 78455, 79211, 54988, 66540, 47890]  Si el valor a borrar está repetido, se borra sólo su primera aparición:  >>> xs.remove(78455)  >>> xs  [78455, 79211, 54988, 66540, 47890] Listas.
  • 14.  Preguntar si un valor determinado es un elemento de una lista necesita la operación in:  >>> xs  [78455, 79211, 54988, 66540, 47890]  >>> 78 in xs  False  >>> 66540 in xs  True  >>>  Ésto puede usarse para todas las secuencias, incluyendo tuplas y cadenas. Listas.
  • 15.  Averiguar la posición de un valor dentro de una lista usa la operación index().  >>> xs.index(78455)  0  >>> xs.index(47890)  4  Si no se encuentra, se produce un error:  >>> xs.index(78)  Traceback (most recent call last):  File "<stdin>", line 1, in <module>  ValueError: list.index(x): x not in list Listas.
  • 16.  Si el valor está repetido, el índice devuelto es el de la primera aparición:  >>> ys=[10,20,10]  >>> ys.index(10)  0 Listas.
  • 17.  Para iterar sobre todos los elementos de una lista use un ciclo for: >>> zs = [5, 3, 8, 10, 2] >>> for x in zs: print x 5 3 8 10 2 Ésto se puede utilizar sobre cualquier secuencia, incluyendo tuplas y cadenas. Listas.
  • 18. Las listas, tuplas y cadenas son parte del conjunto de las secuencias y cuentan con las operaciones siguientes: Listas.
  • 19. Operaciones de las secuencias:  x in s Indica si la variable x se encuentra en s  s + t Concantena s con t.  s * n Concatena n copias de s.  s[i] Elemento i de s, empezando por 0.  s[i:j] Porción de la secuencia s desde i hasta j (no inclusive).  s[i:j:k] Porción de la secuencia s desde i hasta j (no inclusive), con paso k.  len(s) Cantidad de elementos de la secuencia s.  min(s) Mínimo elemento de la secuencia s.  max(s) Máximo elemento de la secuencia s. Listas.
  • 20. Armar la lista de los inscritos en una materia: 1. El usuario ingresa datos de estudiantes que se van guardando en una lista. 2. El programa solicitará al usuario que ingrese uno a uno los listados de los inscritos. Con esos registros construirá una lista, que al final se mostrará. Listas.
  • 21. #!/usr/bin/env python # encoding: latin1 """ Módulo para inscribir alumnos al curso """ # Inicia la interacción con el usuario print "Inscripción en el curso IA" # Se lee el primer listado listado=input("Ingresa un listado (<=0 para terminar): ") # Procesando los listado # Inicialmente no hay inscritos Listas.
  • 22. ins = [] while listado > 0: # Agrega el listado leído a la lista de inscritos ins.append(listado) # Lee otro listado más listado=input("Ingresá un listado (<=0 para terminar): ") # Muestra el resultado print "Esta es la lista de inscritos: ", ins Listas.
  • 23. #!/usr/bin/env python # encoding: latin1 """ Módulo para inscribir al curso IA """ # Inicia la interacción con el usuario print "Inscripción en el curso IA" # Lee el primer listado listado=input ("Ingresa un listado (<=0 para terminar): ") # Procesa los listados # Inicialmente no hay inscritos Listas.
  • 24. ins = [] while listado > 0: # Si no está, agrega a la lista de inscritos, if listado not in ins: ins.append(listado) # de lo contrario avisa que ya existe else: print "Ya existe en la lista" # Lee otro listado más listado=input("Ingresá un listado (<=0 para terminar): ") # Muestra el resultado print "Esta es la lista de inscritos: ", ins Listas.
  • 25. Ejercicios: 1. Permitir que los alumnos se puedan inscribir o borrar. 2. Inscribir y borrar alumnos como antes, pero registrar también el nombre y apellido de la persona inscrita. Listas.