Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como for

1.6. Glosario

solución de problemas: El proceso de formular un problema, hallar la solución y expresar esa solución. lenguaje de alto nivel: Un lenguaje como Python diseñado para ser fácil de leer y escribir para la gente. lenguaje de bajo nivel: Un lenguaje de programación diseñado para ser fácil de ejecutar para un computador; también se lo llama lenguaje de máquina "o lenguaje ensamblador". portabilidad: La cualidad de un programa que le permite ser ejecutado en más de un tipo de computador. interpretar: Ejecutar un programa escrito en un lenguaje de alto nivel traduciéndolo línea por línea compilar: Traducir un programa escrito en un lenguaje de alto nivel a un lenguaje de bajo nivel todo al mismo tiempo, en preparación para la ejecución posterior. código fuente: Un programa escrito en un lenguaje de alto nivel antes de ser compilado. código de objeto: La salida del compilador una vez que ha traducido el programa. programa ejecutable: Otro nombre para el código de obje...

Cadenas

7.1. Un tipo de datos compuesto Hasta el momento hemos visto tres tipos: int , float , y string . Las cadenas son cuantitativamente diferentes de los otros dos porque están hechas de piezas menores: caracteres. Los tipos que comprenden piezas menores se llaman tipos de datos compuestos. Dependiendo de que estemos haciendo, podemos querer tratar un tipo compuesto como una única cosa o acceder a sus partes. Esta ambigüedad es útil. El operador corchete selecciona un carácter suelto de una cadena. 1: >>> fruta = "banana" 2: >>> letra = fruta[1] 3: >>> 4: print letra La expresion fruta[1] selecciona el caracter numero 1 de fruta . La variable letra apunta al resultado. Cuando mostramos letra, nos encontramos con una sorpresa: a La primera letra de " banana " no es a . A no ser que usted sea un programador. Por perversas razones, los científicos de la computacion siempre empiezan a contar desde cero. La 0-sima letra (“cero...

7.5. Comparación de cadenas

Los operadores de comparación trabajan sobre cadenas. Para ver si dos cadenas son iguales: 1: if palabra == "banana" : 2: print "S³, no tenemos bananas!" Otras operaciones de comparacion son utiles para poner palabras en orden alfabético: 1: if palabra < "banana" : 2: print "Tu palabra," + palabra + ", va antes de banana." 3: elif palabra > "banana" : 4: print "Tu palabra," + palabra + ", va despues de banana." 5: else : 6: print "Sí, no tenemos bananas!" Sin embargo, deber³a usted ser consciente de que Python no maneja las mayúsculas y minusculas como lo hace la gente. Todas las mayusuculas van antes de la minúsculas. Como resultado de ello: Tu palabra, Zapato, va antes de banana. Una forma comun de abordar este problema es convertir las cadenas a un formato estandar, como pueden ser las minusculas, antes de realizar la comparacion. Un prob...

8.2. Acceso a los elementos

La sintaxis para acceder a los elementos de una lista es la misma que para acceder a los caracteres de una cadena: el operador corchetes []. La expresión dentro de los corchetes especifica el índice. Recuerde que los índices siempre comienzan en cero: 1: print numeros[0] 2: numeros[1] = 5 El operador [] puede aparecer en cualquier parte de una expresion. Cuando aparece a la izquierda de una asignacion, cambia uno de los elementos de la lista, de manera que el “unesimo” elemento de numeros, que era 123, ahora es 5. Se puede usar como índice cualquier expresion entera. 1: >>> numeros[3-2] 2: 5 3: >>> numeros[1.0] 4: TypeError: 5: sequence index must be integer Si intenta acceder (leer o modificar) un elemento que no existe, obtendra un error en tiempo de ejecución: 1: >>> numeros[2] = 5 2: IndexError: list assignment index out of 3: range Si se da un índice negativo, se cuenta hacia atras desde el final de la lista. ...

8.3. Longitud (tamaño) de una lista

La función len toma una lista y devuelve su tamaño. Es una buena idea usar este valor como límite superior de un bucle, en lugar de una constante. De esta manera, si el tamaño de la lista cambia, no habrá que estar haciendo cambios en todos los bucles; funcionaran correctamente con cualquier tamaño de lista. 1: jinetes = [ "guerra" , "hambre" , "peste" , "muerte" ] 2: i = 0 3: while i < 4: len(jinetes): 5: print jinetes[i] 6: i = i + 1 La ultima vez que se ejecuta el cuerpo del bucle, i es len(jinetes) - 1 , que es el índice del ultimo elemento. Cuando i se iguala a len(jinetes) , la condición falla y no se ejecuta el cuerpo, lo que es una cosa buena, ya que len(jinetes) no es un índice legal. Aunque una lista puede contener otra lista como elemento, la lista anidada cuenta como un elemento sencillo. El tamaño de esta lista es 4: 1: [ 'spam!' , 1, [ 'Brie' , 'Roquefort' , 'Pol le ...

8.4. Pertenencia a una lista

in es un operador booleano que comprueba la pertenencia a una secuencia. Lo usamos en la Sección 7.10 con las cadenas, pero también funciona con las listas y otras secuencias: 1: >>> jinetes = [ 'guerra' , 'hambre' , 'peste' , 'muerte' ] 2: >>> 3: 'peste' in jinetes 4: 1 5: >>> 'libertinaje' in jinetes 6: 0 Como “peste” es un miembro de la lista jinetes, el operador in devuelve verdadero. Como “libertinaje” no esta en la lista, in devuelve falso. Podemos usar not en combinacion con in para comprobar si un elemento no es miembro de una lista : 1: >>> 'libertinaje' not in jinetes 2: 1

8.5. Listas y bucles for

El bucle for que vimos en la Sección 7.3 también funciona con las listas. La sintaxis generalizada de un bucle for es: 1: for VARIABLE in LISTA: 2: CUERPO Esta sentencia es equivalente a: 1: i = 0 2: while i < len(LISTA): 3: VARIABLE = LISTA[i] 4: CUERPO 5: i = i + 6: 1 El bucle for es mas conciso porque podemos eliminar la variable de bucle, i. Aquí tenemos el bucle anterior con un bucle for : 1: for jinete in jinetes: 2: print jinete Mas aun, casi se lee igual que en español, “Para (cada) jinete en (la lista de) jinetes, imprime (el nombre del) jinete". Se puede usar cualquier expresion de lista en un bucle for : 1: for numero in range(20): 2: if numero % 2 == 0: 3: print numero 4: for fruta in 5: [ "platano" , "manzana" , "membrillo" ]: 6: print "Me gusta comer " + fruta + 7: "s!" El primer ejemplo imprime todos los numeros pares entre el 0 y el 1...