Python

Funciones con cadenas de caracteres en Python

Posted on 1 min read 18 views

Funciones con cadenas de caracteres

Cuando una variable es una cadena de caracteres es tratada como si dichos caracteres formasen una lista. De este modo, cuando operamos sobre cualquiera de las dos líneas del siguiente ejemplo, string1string2, obtenemos el mismo resultado:

string1 = ['s','t','r','i','n','g']
string2 = 'string'
for letter in string1:
    print(letter)
for letter in string2:
    print(letter)

Otras funciones disponibles son las siguientes:

  • Contar el número de veces que aparece un carácter en una cadena: count.
  • Hacer que todas las iniciales de cada palabra aparezcan en mayúscula: title.
  • Convertir en mayúsculas sólo la primera leta de la cadena: capitalize.
  • Formar una cadena con los caracteres de una lista o una tupla: join.
  • Separar una cadena a partir de un carácter, creando una lista con cada uno de os elementos resultantes: split.
string = 'this is an example of a text string'
print(string.count('s'))
print(string.title())
print(string.capitalize())
string2 ='-'
sequence = ['j','o','s','e']
print(string2.join(sequence))
string3 =''
print(string3.join(sequence))
print(''.join(sequence))
data = string2.join(sequence)
sequence = data.split('-')
print (sequence)

Recepción de datos en Python

Posted on 1 min read 18 views

Recibiendo datos

Existe una diferencia importante en el comando a utilizar para recibir datos ya usemos Python 2.7 o Python 3.0 o superior. Para solicitar una entrada mediante el teclado se emplean dos sentencias diferentes:

  • Python 2.7: raw_imput.
  • Python 3.0: input.

Este es un ejemplo sencillo para Python 2.7:

print ('Hello JM')
raw_input('Press any key to continue')
print('Thanks')

Sin embargo, si podemos usar input en Python 2.7 para asignar el valor de una entrada a una variable:

data = input('What\'s your favorite number?\n')
data = int(data)*20
print('Your favorite number times 20 is {}'.format(data))

Operaciones con listas en Python

Posted on 1 min read 50 views

Operaciones con listas

Vamos a ver diferentes operaciones con listas:

  • Añadir un nuevo elemento: append.
  • Extender una lista o unir dos listas: extend.
  • Añadir un nuevo elemento en un índice determinado de la lista: insert.
  • Editar un elemento en un índice determinado de la lista: =.
  • Borrar elementos de la lista identificados por su índice: del.
  • Borrar elementos de la lista identificados por su valor: remove.
  • Invertir el orden de los índices en la lista: reverse.
  • Ordenar una lista: sort.
  • Crear una nueva lista ordenada a partir de otra lista no ordenada: sorted.

Estos son algunos ejemplos:

list = [0,1,2,3,4,5,6,7,8,9,10,11] # create a list
list2 = [13,14,15,16,17,18,19,20] # create a second list
list.append(12)
print (list)
list.extend(list2)
print (list)
list.insert (6,5.5)
print(list)
list[6] = 33
print (list)
list[6] = 33/3
print(list)
del list[6]
print(list)
list.remove(11)
print (list)
list.reverse()
print(list)
list.sort()
print(list)
list.reverse()
list2 = sorted(list)
print(list2)

Bucles en Python

Posted on 2 min read 17 views

Bucles

Bucle while

La forma de escribir el bucle while es la habitual, utilizando el símbolo dos puntos (:) tras finalizar la condición a cumplir para ejecutar el bucle y antes de indicar la acción a realizar durante el mismo. Dicha condición debe variar para que el bucle pueda cerrarse. Aquí vemos un ejemplo:

a = 0
while a<=20:
    print(a)
    a+=1
print ("Bucle terminado")

Bucle for

La forma de escribir un bucle for es siempre la siguiente:

for (nombre_del_dato) in (cadena, array, etc.) :
acción a ejecutarse

Aquí vemos algunos ejemplos:

a = [0,1,2,3,4,5]
for data in a:
    print(data)
print ("Bucle 1 for terminado")

for data in [0,1,2,3,4,5]:
    print(data)
print ("Bucle 2 for terminado")

for letter in 'string':
    print(letter)
print ("Bucle 3 for terminado")

for key,data in enumerate('cadena'):
    if key % 2 == 0:
        print data
print ("Bucle 4 for terminado")

Excepciones

Python permite el uso de excepciones mediante las sentencias tryexcept. Básicamente, estas sentencias permiten tomar un camino alternativo en caso de que se presente un error, además de permitir visualizar de un modo más amigable el tipo error que aparece en la ejecución. La estructura es la siguiente:

tuple = (0,1,2,3,4,5) # create a tuple
try:
    tuple.append(6) # try to add a new value to a
except: 
    print("Ha ocurrido un error") # exception appear
else:
    for each in tuple:
        print (each)

También puede escribirse como:

tuple = (0,1,2,3,4,5) # create a tuple
try:
    tuple.append(6) # try to add a new value to a
    for each in tuple:
        print (each)
except AttributeError as e: # mark the exception type as e
    print 'Ha ocurrido un error: ',  e # exception appear

Break, continue y else

Break es la sentencia para interrumpir un bucle. Aquí vemos un ejemplo:

list = [0,1,2,3,4,5] # create a list
for int in list:
    if int == 3:
        break
    else:
        print (int)

Del mismo modo, continue se utiliza para continuar el bucle:

list = [0,1,2,3,4,5] # create a list
for int in list:
    if int == 3:
        continue
    else:
        print (int)

Toma de decisiones en Python.

Posted on 1 min read 23 views

Toma de decisiones

Sentencias if… else … elif

La forma de crear las sentencias ifif… else es sencilla:

  • Después de la condición if, else o elif debe ir el símbolo dos puntos (:).
  • Las sentencias anidadas se crean mediante tabulaciones.

Aquí vemos algunos ejemplos:

a,b = 4.0,5.0
if ab: 
    c=a*b
    print c
elif (b>a): print (a+b)


var = 100
if var > 50:
   print "La variable es mayor de 50"
   if var == 100:
      print "La variable es 100"
   elif var == 150:
      print "La variable es 150"
   elif var == 200:
      print "La variable es 200"
elif var < 50:
   print "La variable es menor que 50"
else:
   print "No se ha podido encontrar la variable"

Una forma alternativa de escribir las sentencias if en una sola línea es la siguiente:

a,b = 0,1
var = "La sentencia es cierta" if a == b else "La sentencia no es verdadera"
print (var)

Resulta mucho más compacto y legible.

Sentencia switch

Python no tiene la función switch como por ejemplo PHP. Una forma de emular la sentencia switch es usar la función dict (diccionario). Aquí tenemos algunos ejemplos:

switch = dict( 
              one ="uno",
              two ="dos",
              three = "tres"
              )
var1 = "two"
print(switch[var1])

print(switch.get(var1,'no encontrada (valor por defecto)'))

var2 = "four"
print(switch.get(var2,'no encontrada (valor por defecto)'))

Operadores en Python

Posted on 2 min read 10 views

Operadores

Operadores aritméticos

Python tiene los operadores aritméticos habituales. Supongamos que a=9 y b=2.  La siguiente tabla muestra los operadores aritméticos principales:

Operador Símbolo Descripción Ejemplo
Suma + Suma los valores a ambos lados del operador a+b=11
Resta Resta el valor a la derecha del operador del valor a la izquierda a–b=7
Multiplicacion * Multiplica los valores a ambos lados del operador a*b=18
Division / Divide el valor a la derecha del operador entre el valor a la izquierda a/b=4.5
Módulo % Entrega el resto de la división entre el valor a la derecha y el valor a la izquierda del operador a%b=1
Exponente ** Calcula la potencia del valor a la izquierda del operador, siendo el valor a la derecha el exponente a**b=81
Cociente redondeado // Entrega el cociente de la división entre los dos operandos, eliminando los decimales. a//b=4

El orden de los operadores es el habitual en matemáticas y lenguajes de programación: el producto y la división tiene prioridad sobre la suma y la resta, y en caso de utilizar paréntesis, estos marcan la prioridad.

Operadores condicionales

Python tiene los operadores condicionales habituales. Supongamos que a=9 y b=2.  La siguiente tabla muestra los operadores aritméticos principales:

Operador Descripción Ejemplo
== Si los dos operandos son iguales el resultado es True y False en caso contrario (a == b) False
!= Si los dos operandos no son iguales el resultado es True y False en caso contrario (a != b) True
<> Si los dos operandos no son iguales el resultado es True y False en caso contrario (a <> b) True
> Si el valor a la izquierda del operador es mayor que el de la derecha el resultado es True y False en caso contrario (a > b) True
< Si el valor a la derecha del operador es mayor que el de la izquierda el resultado es True y False en caso contrario (a < b) False
>= Si el valor a la izquierda del operador es mayor o igual que el de la derecha el resultado es True y False en caso contrario (a >= b) True
<= Si el valor a la izquierda del operador es menor o igual que el de la derecha el resultado es True y False en caso contrario (a <= b) False