12 de mayo de 2016

14. Funciones. Funciones de múltiples resultados

¿Qué es una función?

Una función, en matemáticas, es una aplicación que hace corresponder un valor de un conjunto, a un valor de otro conjunto u otros conjuntos. Por ejemplo, a cada figura geométrica hago corresponder su número de lados:
Aplicacion Matemática
En programación, una función o subrutina, es una llamada a un conjunto de instrucciones que pueden o no devolver un valor como resultado y que pueden aceptar ninguno, uno o más argumentos. En algunos entornos de programación, se distingue la subrutina de la función en que la primera simplemente ejecuta un código y la segunda ejecuta un código para devolver un valor.
El uso de funciones tiene muchas ventajas:
  • Simplifican el código de programación.
  • Hacen al programa más claro, más lógico.
  • Pueden reciclarse, usarse en otros programas.
  • Dividen los problemas en otros más sencillos.
  • Pueden ejecutarse varias veces desde el programa principal (son algoritmos secundarios).
  • Ahorran memoria y hacen los programas menos extensos.
Las funciones en PYTHON, tienen la siguiente estructura:
def miFuncion():
    orden primera
    orden segunda
    etc...
De forma parecida a otros bloques, como los IF o los FOR, empiezan por la palabra reservada def , el nombre de la función y paréntesis (abre y cierra) con dos puntos. Tabuladas, se ponen en orden las instrucciones a ejecutar.
Si acepta valores de entrada o argumentos, los nombres de los mismos van entre los paréntesis y separados por comas.
def imprimeIndiceMasaCorporal (peso, altura):
   IMC = peso / (altura ** 2)
   print IMC
Si devuelve un valor, se usa la palabra reservada return
def imprimeIndiceMasaCorporal (peso, altura):
   IMC = peso / (altura ** 2)
   return IMC
Ejemplo 1. Ejemplo de función retornando la suma de dos elementos
# *-* coding: utf-8 *-*
miNumero = int(raw_input("Dime un numero del 2 al 10: "))
miNumero2 = int(raw_input("Dime un numero del 2 al 10: "))


def suma(a, b):
    return a + b

for i in xrange(1, miNumero + 1):
    for j in xrange(1, miNumero2 + 1):
        print ("La suma de: " + str(i) + " y " + str(j) + " = " + str(suma(i, j)))
Como puedes observar simplemente se llama a la función suma a través de suma(primer número, segundo número)
===

Funciones de múltiples resultados

En el siguiente código, la función segA acepta un número entero; sin embargo, devuelve tres variables. Esta propiedad de PYTHON no se comparten en otros entornos de programación, donde sólo se puede devolver un resultado por función.
El programa realiza el cálculo, la conversión, de una cantidad de segundos a formato hora, minuto, segundos.
# *-* coding: utf-8 *-*


def segA(sec):
    # Esta función es capaz de pasar los segundos
    # a horas minutos y segundos
    hs = sec / 3600
    minu = (sec % 3600) / 60
    seg = (sec % 3600) % 60
    return (hs, minu, seg)

segundos = int(raw_input("Introduce el números de segundos que han pasado: "))

(hora, minutos, segundos) = segA(segundos)
print ("%d:%d %d\"") % (hora, minutos, segundos)

13. PR02. Ampliación del programa Índice de masa corporal.

PR02: Cálculo del índice de masa corporal. Ampliación.

Basándonos en el programa índice de masa corporal anterior, realizaremos una ampliación. Disponemos de los siguientes datos:
  • Delgadez:  menor de 18,5
  • Normal: entre 18,5 y 25
  • Sobrepeso: entre 25 y 30
  • Obeso: entre 30 y 40
  • Obesidad mórbida: más de 40
PISTAS:
  1. Hay que usar lo que se sabe sobre listas, bucles, condicionales ... y pensar mucho.
  2. IMPORTANTE: un programa eficaz y sencillo consistiría en al menos dos listas, un bucle y un sólo if.
  3. Puede ser útil el siguiente método de lista: miLista.index(x) , que devuelve, dentro de la lista, la posición que ocupa empezando por la primera (cero). "x" tiene que ser un valor que pertenezca a la lista para retornar algo.
  4. OPCIONAL: indicar al usuario, cuál es el rango de pesos para tener un estado normal.

12. Romper los bucles o saltándoselos

Rompiendo los bucles: break. Saltándolos: continue

Un bucle WHILE o FOR puede romperse con el comando break.
Ejemplo 1. Uso de break, tanto en un while como en un for
# *-* coding: utf-8 *-*
# Muestra los primeros 20 números impares
print "Primera serie de números impares"
count = 0
while True:
    print count * 2 + 1
    count += 1
    if count > 20:
        break

print "Segunda serie de números impares"
# Muestra solo números impares - 1,3,5,7,9
for x in xrange(0, 1001):
    print x * 2 + 1
    if x == 20:
        break
===
Ejemplo 2. Uso de continue.
# *-* coding: utf-8 *-*
print "Otra serie de números impares"
# Muestra solo números impares - 1,3,5,7,9
for x in xrange(0, 42):
    if x % 2 == 0:
        continue
    print x
===

11. El bucle for y el bucle while

Iterando con bucles "for"

El FOR se utiliza para ejecutar una serie de sentencias mientras se recorre la cuenta de la misma. Recorrer una lista, de dos formas, es lo que hace el siguiente programa.
Ejemplo 1. Recorriendo los valores de una lista
# *-* coding:utf-8 *-*
miLista = [3, 4, 5, 6]

print "Mi primera forma..."
for numero in miLista:
    print str(numero) + "\n"

print "Mi segunda forma..."
for x in range(0, 4):
    print str(miLista[x]) + "\n"
===

Iterando con bucles "while"

El bucle WHILE, a diferencia del FOR , no recorre un contador o una lista cerrada. Depende de una condición que, hasta que no se cumpla no termina. El bucle WHILE puede hacer que, si no se programa bien, el programa se cuelgue.
Ejemplo 1.  Imprimo cinco números
# *-* coding:utf-8 *-*
count = 0
while count < 5:
    print count
    count += 1  # Lo mismo que count = count +1
===
Pero hay que cerrar bien el bucle WHILE. El siguiente programa entra en un bucle infinito que puede bloquear el ordenador o hacerlo trabajar indefinidamente. Hay que pulsar en para programa, para salir de él stop.
# *-* coding:utf-8 *-*
count = 0
while count < 5:
    print count
    count += 1  # Lo mismo que count = count +1
    if count >=4:
        count = 4

10. IF -ELIF- ESE (Si esto, o si lo otro). Ampliación: evaluando variables vacías.

Si esto, o si lo otro

Vamos a plantearle al ordenador un sencillo problema. Introduzco la edad de alguien, y si él averigua si es mayor o menor de edad que me lo diga.
Para discernir entre una cosa o la otra, el ordenador realiza una comparación, evalúa el resultado si es True o False, y, mediante una estructura denominada condicional, presenta en pantalla un resultado.
Ejemplo 1. Discerniendo..
# *-* coding: utf-8 *-*
miEdad = int(raw_input("¿Cuál es tu edad?: "))
"""¡Cuidado! Convertir la variable en numérica con int """

if miEdad >= 18:
    print "¡Soy mayor de edad! :-)"
else:
    print "¡Aún no soy mayor de edad! :-("
La sentencia anterior se lee... Si mi edad (if) es mayor o igual que 18 que imprima "¡Soy mayor de edad! :-)" y si no (else) que imprima "¡Aún no soy mayor de edad! :-("
===
Ejemplo 2. Discerniendo entre más de un caso
Intenta hacer un programa en el que ahora, no sólo discierne entre si eres mayor o menor de edad, si no si has alcanzado la edad de jubilación de 65 años.
# *-* coding: utf-8 *-*
miEdad = int(raw_input("¿Cuál es tu edad?: "))
"""¡Cuidado! Convertir la variable en numérica con int """

if miEdad < 18:
    print "¡Aún no soy mayor de edad! :-("
elif ((miEdad >= 18) and (miEdad < 65)):
    print "¡Eres mayor de edad y tienes edad de trabajar! :-)"
else:
    print "¡Ya tienes edad de jubilarte! :-)"
 
La sentencia anterior se lee... Si mi edad (if) es menor que 18 entonces imprimir "¡Aún no soy mayor de edad! :-(" y si además (elif - else if) está entre 18 y 64 años, imprimir "¡Eres mayor de edad y tienes edad de trabajar! :-)" y si no, imprimir "¡Ya tienes edad de jubilarte! :-)"
===

Otras operaciones que implican "IF"

Por ejemplo, saber si un nombre pertenece a un conjunto...
Ejemplo 1. Pertenencia a un conjunto o lista
# *-* coding: utf-8 *-*
miNombre = raw_input("Escribe tu nombre: ")
misNombres = ["JUAN", "JAIME", "ANA", "FRANCISCO", "MARÍA", "LUISA", "CARMEN", "ANTONIO"]

"""Para igualar, paso miNombre a mayúsculas. Así comparo mejor"""
miNombre = miNombre.upper()

if miNombre in misNombres:
    print "Está en la lista"
else:
    print "¡Oh! No está en la lista"
===
Ejemplo 2. Comparando objetos con "is"
# *-* coding: utf-8 *-*
x = [1, 2, 3]
y = [1, 2, 3]

if (x == y):
    print "Valen lo mismo"

if x is y:
    print "Son el mismo objeto.Identificadores: " + str(id(x))+ " - "+str(id(y))
else:
    print "NO son el mismo objeto. Identificadores: " + str(id(x))+ " - "+str(id(y))

""" Fuerzo a que sean el mismo objeto """
x = y
if x is y:
    print "Son el mismo objeto.Identificadores: " + str(id(x))+ " - "+str(id(y))
else:
    print "NO son el mismo objeto. Identificadores: " + str(id(x))+ " - "+str(id(y))
===

Evaluando variables vacías

Evaluando valores vacíos directamente
Ejemplo 1. Evalúo valores vacíos
# *-* coding: utf-8 *-*
x = True

a = 0  # Valor cero
b = []  # Lista vacía
c = ""  # Cadena vacía

if x:
    print "Sí, es verdadero"
else:
    print "No, es falso"

if a:
    print "Tiene un valor"
else:
    print "Sin valor o vacío"

if b:
    print "Tiene un valor"
else:
    print "Sin valor o vacío"

if c:
    print "Tiene un valor"
else:
    print "Sin valor o vacío"

11 de mayo de 2016

09. Comparadores. Variables y operadores booleanos.

Variables y operadores booleanos

Una variable booleana es aquella que sólo puede tomar dos valores: o verdadero o falso. Cuando realizo una comparación entre dos expresiones se retorna un valor booleano.
Ejemplo 1. Resultado de los distintos comparadores
# *-* coding: utf-8 *-*
a = 3
b = 2

print (a - b == 1)
print (a - b == 2)  # comparación iguales

print (a + b != 6)  # comparación distinto

print (a > b)
print (a < b)  # mayor o menor

print (a >= 5)
print (a <= 6)  # mayor igual o menor igual
Importante: hay que distinguir entre el igual de asignación (=) y el igual de comparación (==)
===

Operadores booleanos

Los operadores booleanos o lógicas, son operaciones básicas del álgebra de Boole. Tenemos la suma lógica (+) u OR , y la multiplicación lógica () o AND. También tenemos la negación NOT.
  1. La operación NOT cambia el estado de una variable booleana, o sea, si esta era False pasa a ser True y viceversa.
  2. La operación AND es True, si, y sólo si, ambas expresiones o variables booleanas son verdaderas.
  3. La operación OR es True, si cualquiera de las dos, o las dos, expresiones o variables booleanas son verdaderas.
Ejemplo 2. Evalúa operaciones booleanas
# *-* coding: utf-8 *-*
a = 3
b = 2
print "Operador NOT"
print (a > b)  # esta expresión es VERDADERA
print not (a > b)  # pues la convierto en FALSA
print "\n"
print "Operador OR"
print (a == b) or (a > b)  # La primera expresión es falas, la segunda es verdadera. La combinación es VERDADERA
print (a == b) or (a < b)  # Ambas son falsas, luego la combinación es falsa
print "\n"
print "Operador AND"
print (a == b) and (a > b)  # Basta que una sea falsa, para que la combinación sea falsa
print (a > b) and (a < b + 10)  # Ambas son verdaderas, luego es verdadera
===

08. PR01. Índice de masa corporal

Hacer un programa que pida el peso y la altura de una persona, lo primero en kilos y lo segundo en metros. Hacer las conversiones y cálculos necesarios para calcular el índica de masa corporal.

Intentar que el resultado en Python sea, al menos, correcto desde un punto de vista estético.


http://www.noalaobesidad.df.gob.mx/index.php?option=com_content&view=article&id=52&Itemid=76

07. Cadenas de caracteres en Python

Ejemplo 1. Elementos especiales en las cadenas
Ya hemos definido variables que son cadenas de caracteres. y ya hemos visto que se encerraban entre comillas simples (apóstrofes ' ' ) o comillas dobles (" ").
¿Qué ocurriría, sin embargo, si defino la siguiente cadena (en inglés)?
miCadena = 'Hi, I'm the new teacher'
print miCadena
Si probáis el ejemplo en el IDE, el programa arroja el siguiente error: SyntaxError: invalid syntax. Probad ahora con el siguiente ejemplo: 
miCadena = 'Hi, I\'m the new teacher'
print miCadena
Escribiendo el carácter de escape \ , el programa obvia la condición de cierre del apóstrofe y lo interpreta como carácter.
===
Ejemplo 2. Una forma más fácil de evitarlo
miCadena = "Hi, I'm the new teacher"
print miCadena
Simplemente, combino las dobles comillas como delimitadores de cadena y el apóstrofe ya es un carácter.
===
Ejemplo 3. Pero hay más caracteres con \
# *-* coding:utf-8 *-*
miCadena = "Primera línea\nSegunda línea"
print miCadena

En este ejemplo, \n es un retorno de carro. Se salta una línea.
===
Intenta también estos ejemplos especiales
A. cadenas "en bruto", empezando con r
# *-* coding:utf-8 *-*
miCadena1 = "Primera línea\nSegunda línea"
miCadena2 = r"Primera línea\nSegunda línea"
print miCadena1
print miCadena2
B. cadenas literales, con tres """... """ o '''... '''
print """
Hola, este es un                        gran ejemplo
............                  de como se imprimen cadenas literales"""
C. Y añadiendo slashes (al final de la palabra ejemplo)
print """
Hola, este es un                        gran ejemplo\
............                  de como se imprimen cadenas literales"""
 
 

Caracteres dentro de una cadena

Una cadena o string puede considerarse una lista de caracteres. De hecho, puede accederse a cada letra o carácter a través de la posición que ocupa en ella.
Por ejemplo, la palabra CASA tiene 4 caracteres. El primer carácter, se cuenta como carácter 0 es la "C". Asimismo, el carácter 1 es la "A", el 2, la "S" y el 3, "A".
Intenta este ejemplo
Ejemplo 1. Palabra "CASA" letra a letra.
miCadena = "CASA"
for caracter in miCadena:
     print caracter+"\n"
Y de otra forma, con un bucle numérico y la función range
miCadena = "CASA"
longitud = len(miCadena)
print "Longitud: "+str(longitud)+"\n"
for i in range (0,longitud):
     print "i: "+str(i)+" --> "+miCadena[i]+"\n"

Ejemplo 2. Y ahora, al revés
miCadena = "CASA"
longitud = len(miCadena)
print "Longitud: "+str(longitud)+"\n"
for i in range (longitud,0,-1):
    print "i: "+str(i-1) +"  -->  "+miCadena[i-1]+"\n"

O bien
miCadena = "CASA"
longitud = len(miCadena)
print "Longitud: "+str(longitud)+"\n"
for i in range (longitud-1,-1,-1):
    print "i: "+str(i) +"  -->  "+miCadena[i]+"\n"

O bien
miCadena = "CASA"
miCadena2= ""
for caracter in miCadena:
    miCadena2 = caracter + miCadena2
for caracter in miCadena2:
    print caracter +"\n"
 

Cadenas formadas con varios elementos: formateo de cadenas

Ejemplo 1. Formateando una cadena con tres números tipo float En este ejemplo, presentamos con print una cadena de texto formada por una cadena de texto previa y tres números float. El formateo se logra mediante el operador %, con una s indicando que es una cadena y una f indicando que es un número tipo float.
# *-* coding: utf-8 *-*
a = 2.3212
b = 3.45456
c = "La suma de dos números"

print "%s, %f + %f es %f" % (c,a,b,a+b)
===
Podemos controlar el número de decimales de los float con la notación %.2f (2 decimales).
...
print "%s, %.2f + %.2f es %.2f" % (c,a,b,a+b)
===
Ejemplo 2. Formateo una cadena con números enteros
Cuando tengo un integer, o número entero, necesito la notación %d
# *-* coding: utf-8 *-*
a = 2
b = 3.45456
c = "La suma de dos números"

print "%s, %d + %.2f es %.2f" % (c,a,b,a+b)
Pero.. ¿Qué ha ocurrido? El programa presenta el resultado pero hemos sumado un número entero a un número tipo float. El resultado hay que expresarlo en ese tipo. Observa la diferencia si sustituyes el print por esta línea
print "%s, %d + %.2f es %d" % (c,a,b,a+b)
===
Ejemplo 3. Puedo forzar la conversión de números usando estas funciones
  • int(a): convierto un número a entero o integer.
  • float(a): convierto un número a tipo float o real
  • str(a): convierto un número a cadena de texto...
Observa y comenta los resultados de este programa:
# *-* coding: utf-8 *-*
from math import atan, sin
a = 4*atan(1) #una forma de escribir el número pi
b = sin(a/3) #seno de 60º

print a,b
print str(a),str(b)

print a+b
print str(a)+str(b)

print int(a+b)
print int(a)+int(b)

print b/a
print int(b)/int(a)
print int(b/a)

print float(int(a*100))/100
 

Métodos de funciones de texto

Los métodos de string son funciones aplicables a cadenas de caracteres que devuelven datos concretos. Veremos los siguientes:
  1. len(cadena) --> Longitud de la cadena.
  2. lower() --> Convierte una cadena en minúsculas.
  3. upper() --> Convierte la cadena en mayúsculas.
Mientras la primera lleva la variable entre paréntesis las dos últimas se ejecutan con .[método]() (o notación de puntos). La notación de puntos puede ser literal, y se ejecuta sólo con strings, mientras len() admite como argumento otra serie de objetos.
Ejemplo
# *-* coding: utf-8 *-*
miCadena="Esta es UNA cadena de texto"

print len(miCadena)
print miCadena.upper()
print miCadena.lower()

print "Otra Cadena De Texto".upper()
print "Otra Cadena De Texto".lower()
===

¡Hey, tú! ¡Dame lo que te pido!

Hasta ahora el programador ha sido quien escribe en el programa los datos que se han expuesto o con los que se ha calculado. ¿Pero siempre tenemos al programador para obtener esos datos? Evidentemente no. Necesitamos interactuar con el usuario, preguntarle qué datos necesita. Por eso, ahora veremos la función raw_input (entrada "en bruto")
Imagina un programa que le pide a una persona su peso, su altura y su nombre, para poder calcular su índice de masa corporal... ¿Cómo empezaría el programa?
Ejemplo
# *-* coding: utf-8 *-*
miNombre = raw_input("Por favor, dime tu nombre: ")
miPeso = float(raw_input("Dime tu peso en kilogramos: "))
miAltura = float(raw_input("Dime tu altura en centímetros: "))

print "Tu nombre es %s, tu peso %.2f Kg y tu altura %.2f cm" % (miNombre,miPeso,miAltura)

 

Processing: dibujando y usando el ratón. 3 y 4

3.- Usamos el ratón para mover el dibujo.


 void setup() { // Al principio
  size(500,400); // Tamaño del cuadro (CANVAS)
  // ¿Qué ocurre si aquí inserto background?
  // Y lo quito del "draw"
  // background(23,56,200); // color del fondo
}

void draw() { // Lo que se ejecuta continuamente
  background(23,56,200); // color del fondo
  stroke(0); // color de la línea
  fill(34,67,98); // color de relleno
  ellipse(mouseX,mouseY,20,20); // dibuja un círculo
  // mouseX; posición X del ratón
  // mouseY; posición Y del ratón
}


4.- Y además cambia al pulsar el ratón.


void setup() { // Al principio
  size(500,400); // Tamaño del cuadro (CANVAS)
  // ¿Qué ocurre si aquí inserto background?
  // Y lo quito del "draw"
  // background(23,56,200); // color del fondo
}

void draw() { // Lo que se ejecuta continuamente
  background(23,56,200); // color del fondo
  stroke(0); // color de la línea
  fill(34,67,98); // color de relleno
  if (mousePressed) { // si pulso el ratón
    ellipse(mouseX,mouseY,20,20); // dibuja un círculo
  } else { // y si no lo pulso.
    rect(mouseX,mouseY,20,20); // dibuja un rectangulo
  }
  // mouseX; posición X del ratón
  // mouseY; posición Y del ratón
}

10 de mayo de 2016

06. Listas o arrays. Operaciones... no tan básicas


Listas o Arrays

Una lista es un conjunto de elementos del mismo tipo (enteros, reales - float, o texto) asociados a una única variable. A cada elemento particular se accede a través de un índice.
El concepto matemático asociado es el de vector, ya que un vector de dimensión n es una tupla (conjunto) de n números, que pertenecen al espacio vectorial (si los números son reales) Rn.
===
Ejemplo 1: definir una lista de 3 números. Sumarlos
miN = []
miN.append(2)
miN.append(3.45)
miN.append(23.13)
print miN[0]+miN[1]+miN[2]
Se realiza la suma de los tres números reales. La asignación o inclusión de un número en la lista se hace mediante el método append.
===
Ejemplo 2: Otra forma de asignar, otra forma de presentar la suma
miN = [2,3.45,23.13]
suma = 0
for numero in miN:
     suma = suma + numero
     print numero
print suma
En este ejemplo la asignación inicial se realiza en la declaración de la lista o array. Se define además una variable intermedia, suma, que se inicializa a cero. Después tenemos un bucle for, en el que por cada numero en la lista miN, se suma dicho número a la variable intermedia. Se muestra cada número. Al final se muestra la variable suma.
Observa que al escribir el programa en el IDE, automáticamente lo que está dentro del for se tabula o indenta. Esta es la forma que usa PYTHON de separar bloques de códigos anidados. Para forzar la tabulación inversa o deshacer una tabulación pulsar mayúsculas + TAB.
===
Ejemplo 3: Las listas pueden ser de cadenas de texto
miCadena = ["hola","amigos"]
frase=""
for palabra in miCadena:
      frase = frase + palabra + " "
print frase
En este ejemplo, se concatenan las palabras hola y amigos, definiendo una variable intermedia que es frase.

Operaciones... no tan básicas

Ejemplo 1. Cadenas repetitivas
muchosHolas = "Hola " * 10
print muchosHolas
Ejemplo 2. Operadores con listas: unir dos listas
Las listas pueden ser unidas con los operadores de adición:
pares = [2,4,6,8]
impares = [1,3,5,7]
todos = pares+impares
print todos
y "multiplicadas" varias veces
print [1,2,3] * 3


05. Variables en Python

Variables: introducción a las variables de tipo entero

En Matemáticas, una variable es un símbolo que representa a un número indeterminado. En una ecuación, una variable se denomina incógnita porque es susceptible de poder determinarse (Una ecuación es una igualdad matemática entre dos expresiones algebraicas). En expresiones algebraicas, simplemente representa a números.

Expresión algebraica:  (a+b)²

Ecuación: 3x+10 = 13

En programación, y en particular en Python, necesitamos trabajar con variables. Para asignar una variable, simplemente se escribe el nombre de la misma y se iguala a un número.

Nota: en la versión Python3, print es una orden que necesita paréntesis. Tenlo en cuenta en todos los ejemplos.

Escribe en nuestro IDE lo siguiente:

miNumero = 7
miNumero = miNumero + 3
print miNumero

Versión Python 3
miNumero = 7
miNumero = miNumero + 3
print (miNumero) <-- Hay que ponerle los paréntesis al print
 

En la primera línea, se ejecuta una asignación, es decir a una variable se le asigna un número, en este caso el 7.

La segunda línea, es otra asignación; no es una ecuación (porque además sería irresoluble). Debemos leer el igual sólo de izquierda a derecha. De alguna manera se leería: "a la variable miNumero asígnale el valor que tuviese más tres".

Y por fin, muestra el resultado de miNumero.

Dos aspectos importantes a considerar :

  1. Hemos declarado la variable asignándole un número entero. La variable es, pues, de tipo entero. En un lenguaje de programación hay diversos tipos de variables, según los números que representen, incluyendo, además, caracteres o cadenas de caracteres.
  2. miNumero es una variable que al designarse sigue la notación "joroba de camello". La escribimos como dos (o más) palabras sin espacios, sin caracteres acentuados u otros que no sean letras o números.

Variables FLOAT

Para definir números de variables reales, utilizamos el tipo float (coma flotante). Intenta este ejemplo:

miReal = 7.0
miReal = miReal * 3.15E-2
print miReal

En general un número real en coma flotante tiene estas partes; por ejemplo, para el número -3.435E-2.

  1. Signo (-). Si es positivo, no hace falta poner "+"
  2. Parte entera de la mantisa: 3
  3. Parte decimal de la mantisa: 435
  4. Símbolo de exponente: E
  5. Exponente, con el signo: -2

Variables de cadena o alfanuméricas

Las variables de cadena almacenan texto, cadenas de caracteres. Van encerradas entre comillas simples o dobles. Intenta este ejemplo escribiéndolo en el IDE.

# *-* coding: utf-8 *-*
miCadena = "Esa es una estrella de la constelación de Tauro"
miCadenaDos = 'Esa es una estrella de la constelación de Tauro'
print miCadena, miCadenaDos

= = =

Constantes: en Python no hay constantes ad hoc (variables cuyo valor no cambia en toda la ejecución del programa). Simplemente usa una variable, y no la modifiques nunca.