Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Libros / Algoritmos de Programacin con Python / Captulo 7. Tuplas y listas / 7.1. Tuplas
7.1. Tuplas
En la conversin de un tiempo a horas, minutos y segundos, en la seccin 3.6, usamos
n-uplas (o tuplas) como una construccin que nos permita que una funcin devolviera
mltiples valores.
Una fecha la podemos querer representar como la terna da (un nmero entero),
mes (una cadena de caracteres), y ao (un nmero entero), y tendremos por
ejemplo: (25, "Mayo", 1810) .
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Como datos de los alumnos queremos guardar nmero de padrn, nombre y
apellido, como por ejemplo (89766, "Alicia", "Hacker") .
Es posible anidar tuplas: como datos de los alumnos queremos guardar nmero
de padrn, nombre, apellido y fecha de nacimiento, como por ejemplo: (89766,
"Alicia", "Hacker", (9, "Julio", 1988)) .
ADVERTENCIA
Todas las secuencias en Python comienzan a numerarse desde 0. Es por eso que se
produce un error si se quiere acceder al n-simo elemento de un tupla:
>>> t[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
Tambin se puede utilizar la notacin de rangos, que se vio aplicada a cadenas para
obtener una nueva tupla, con un subconjunto de componentes. Si en el ejemplo de la
fecha queremos quedarnos con un par que slo contenga da y mes podremos tomar el
rango [:2] de la misma:
>>> t[:2]
(25, 'Mayo')
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Ejercicio 7.1. Cul es el cuarto elemento de (89766, "Alicia", "Hacker", (9,
"Julio", 1988)) ?
>>> len(t)
3
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Ejercicio 7.2. Cul es la longitud de (89766, "Alicia", "Hacker", (9, "Julio",
1988)) ?
>>> z=()
>>> len(z)
0
>>> z[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
Una tupla unitaria es una tupla con una componente. Para distinguir la tupla unitaria de
la componente que contiene, Python exige que a la componente no slo se la encierre
entre parntesis sino que se le ponga una coma a continuacin del valor de la
componente (as (1810) es un nmero, pero (1810,) es la tupla unitaria cuya nica
componente vale 1810 ).
>>> u=(1810)
>>> len(u)
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
>>> len(u)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
>>> u=(1810,)
>>> len(u)
1
>>> u[0]
1810
>>> a=125
>>> b="\#"
>>> c="Ana"
>>> d=a,b,c
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
>>> len(d)
3
>>> d
(125, '\#', 'Ana')
>>>
>>> x,y,z = d
>>> x
125
>>> y
'\#'
>>> z
'Ana'
ADVERTENCIA
Si las variables no son distintas, se pierden valores. Y si las variables son
exactamente k se produce un error.
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
>>> p,p,p = d
>>> p
'Ana'
>>> m,n = d
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> m,n,o,p=d
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 3 values to unpack
1. Proponer una representacin con tuplas para las cartas de la baraja francesa.
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
2. Escribir una funcin poker que reciba cinco cartas de la baraja francesa e informe
(devuelva el valor lgico correspondiente) si esas cartas forman o no un poker (es
decir que hay 4 cartas con el mismo nmero).
2. Escribir una funcin sumaTiempo que reciba dos tiempos dados y devuelva su suma.
Ejercicio 7.5. Escribir una funcin diaSiguienteE que dada una fecha expresada como
la terna (Da, Mes, Ao) (donde Da, Mes y Ao son nmeros enteros) calcule el da
siguiente al dado, en el mismo formato.
Ejercicio 7.6. Escribir una funcin diaSiguienteT que dada una fecha expresada como
la terna (Da, Mes, Ao) (donde Da y Ao son nmeros enteros, y Mes es el texto Ene ,
Feb , ..., Dic , segn corresponda) calcule el da siguiente al dado, en el mismo formato.
Anterior Siguiente
Captulo 7. Tuplas y listas 7.2. Listas
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano,
Nicols Paez. La copia y redistribucin de esta pgina se permite bajo los trminos de la licencia Creative
Commons Atribucin - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.
INDICE DE CONTENIDOS
2. Programas sencillos
3. Funciones
4. Decisiones
5. Ms sobre ciclos
6. Cadenas de caracteres
7.1. Tuplas
7.2. Listas
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
7.3. Ordenar listas
7.5. Resumen
7.6. Ejercicios
8. Algoritmos de bsqueda
9. Diccionarios
14. Objetos
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
3.757
2006-2017 LibrosWeb.es Contacto Novedades Condiciones Privacidad
das online
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com