Download Presentación

Document related concepts
no text concepts found
Transcript
20/08/15 Entrada, proceso, salida Escribiendo programas sencillos Capítulo 2 Ing. Roberto Mar4nez Román -­‐ [email protected] Python § 
Es el lenguaje que usaremos en nuestro curso. § 
UHlizado por compañías como Google, Pixar, Industrial Light & Magic, Nextel, etc. § 
Usaremos la versión 3.0 de Python. Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 1 20/08/15 Introducción al lenguaje Python § 
Abre Calico. § 
Esta es una herramienta que proporciona dos formas de introducir y ejecutar código: § 
§ 
§ 
Ejecutar línea por línea. Ejecutar un archivo. Busca la pestaña del shell y teclea lo siguiente: from Myro import * speak("Hola, bienvenido a la programación con Python") speak("Hello world, welcome to Python programming") Ing. Roberto Mar4nez Román -­‐ [email protected] Variables Una variable es el nombre (idenHficador) que representa, o hace referencia, a un valor almacenado en la memoria de la computadora. Para crear una variable debemos asignarle un valor inicial al idenHficador. edad = 21 Memoria edad 21 Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 2 20/08/15 Reglas para nombrar identi<icadores identi&ier ::= ( letter | "_" ) ( letter | digit | "_" )* letter ::= lowercase | uppercase lowercase ::= "a"..."z" uppercase ::= "A"..."Z" digit ::= "0"..."9" Python es sensible a mayúsculas y minúsculas, por lo tanto, las siguientes variables son disHntas abc
Abc
ABC
aBc
aBC
abC Los nombres de variables deben indicar qué dato almacenan. Ing. Roberto Mar4nez Román -­‐ [email protected] Nombres de identi<icadores § 
§ 
Por convención, en Python los nombres de variables inician con minúscula. Si un nombre de variable se forma de varias palabras, a parHr de la segunda palabra inicia con mayúscula. §  pagoTotal §  pagoBruto §  edadMeses Este esHlo se §  canHdadAPagarConImpuesto llama camelCase Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 3 20/08/15 Nombres de identi<icadores Marca los idenHficadores inválidos a 2000dc _hola abcdefg año pes_os $total ___Z___ _ _x _______ b_ pensión datoMalo dato&Bueno § 
Ing. Roberto Mar4nez Román -­‐ [email protected] Entrada de datos § 
§ 
La función input sirve para leer datos desde el teclado. El formato es: variable = input("Cadena de pe0ción") Esta función lee la cadena que teclea el usuario y la almacena en la variable. El Hpo de dato que regresa es String. Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 4 20/08/15 Conversión de tipos § 
Para converHr una cadena a entero: § 
§ 
§ 
Para converHr una cadena a real (flotante): § 
§ 
§ 
edad = int( "23" ) edad = int( strEdad ) estatura = float( "1.72" ) estatura = float( strEstatura ) Para converHr un entero o float a cadena: § 
§ 
strEdad = str( edad ) strEstatura = str( estatura ) Ing. Roberto Mar4nez Román -­‐ [email protected] Asignación § 
Asignación. § 
Para darle un valor a una variable, usamos el operador =, el formato es: Siempre se asigna de derecha a izquierda Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 5 20/08/15 Asignación § 
Indica cuál de las siguientes instrucciones son incorrectas: § 
§ 
§ 
§ 
§ 
§ 
§ 
a = 34+23/10**2 total = precio + 0.15*precio 0.5*precio = descuento 5 = 3 b = 15 27 = fecha 2012 = finDelMundo Ing. Roberto Mar4nez Román -­‐ [email protected] Operadores aritméticos Operador Significado + -­‐ * / % ** // Suma. Resta. MulHplicación. División real. Módulo, residuo. Potencia. División entera. Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 6 20/08/15 Ejercicios Sin usar Python, escribe el resultado de las siguientes expresiones: Resultado Expresión 23 + 10 – 15 -­‐ 20 -­‐2 100 / 50 / 2 1 10 // 3 3 25 % 7 4 5 ** 2 25 49 ** 0.5 7 5*3**(15%13)-­‐10+12/4-­‐(5-­‐8//3) 35 Verifica tus resultados con el shell de Python Ing. Roberto Mar4nez Román -­‐ [email protected] Precedencia de operadores Operador Precedencia ( ) ** *, /, //, % +, -­‐ = Izquierda a derecha Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 7 20/08/15 Ejercicio (en el shell de Python) § 
Asígnale a la variable n cualquier valor entero posiHvo. NO LO DIGAS A NADIE. Asigna a la variable x, el valor de n más 5. Asigna a x el doble de x. A x, réstale 4. A x sácale mitad. (guarda en x la mitad de x) A lo que quedó, réstale el número original n. § 
El resultado es: 3 § 
§ 
§ 
§ 
§ 
Ing. Roberto Mar4nez Román -­‐ [email protected] Imprimiendo información Para imprimir datos, usamos la instrucción print. Podemos imprimir disHntos Hpos de datos: 1.  Letreros (Cadenas constantes) a) 
b) 
2. 
Valores constantes a) 
b) 
3. 
print ("Hola mundo") print ('Tec de Monterrey') print (250) print (3.1416) Variables a) 
b) 
a = 19 print (a) Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 8 20/08/15 Imprimiendo información (cont.) 4. 
Combinaciones de cadenas y variables a) 
b) 
c) 
5. 
edad = 21 print ("Edad:", edad) print ('Tienes', edad, 'años') Imprimiendo comillas a) 
b) 
c) 
d) 
print ('-­‐Tec de "Monterrey"-­‐') print ("-­‐Tec de 'Monterrey'-­‐") print ("""Hola "mundo", 'adios'!""") print ("""Hola Mundo""") Ing. Roberto Mar4nez Román -­‐ [email protected] Ejercicios ¥ 
Escribe un programa que resuelva la ecuación de segundo grado. Sólo raíces reales. Ejecución y pruebas Análisis Codificación Diseño Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 9 20/08/15 Ejercicios § 
Escribe un programa que lea el número de segundos que han transcurrido desde la medianoche (< 86400) e imprima la hora actual en horas, minutos y segundos. Use el formato h:mm:ss al momento de imprimir. § 
Escribe un programa que lea desde el teclado dos valores a y b. A conHnuación que intercambie los valores de a y b; y finalmente que los imprima en pantalla. Ing. Roberto Mar4nez Román -­‐ [email protected] Tipos de datos § 
§ 
Python maneja disHntos Hpos de datos, pero no es necesario declarar explícitamente cada uno de ellos. En Python encontramos Hpos como: § 
§ 
§ 
§ 
Entero Real (punto flotante)
String (cadena)
Lógico 5, -­‐345, 65347, 123456789012 3.141592, 2.71, 9.81, 1e8 "Hola", 'Rolando Calles' True, False 25 ≠ 25.0 ≠ "25" Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 10 20/08/15 Imprimiendo con formato print ("cadenaFormato" % (listaVariables)) print ("Edad: %i" % edad) print ("La edad es %d años con %d meses" % (anios,meses)) print ("La estatura es: %5.2f" % estatura) print ("Hora: %i:%02i:%02i" % (h,m,s)) Caracteres especiales \n \t \' \" \\
%%
Ing. Roberto Mar4nez Román -­‐ [email protected] Imprimiendo con formato Usando la función format, la cual recibe dos parámetros: §  El primero, el valor numérico que se va a formatear. §  El segundo, el especificador de formato. p = 3.141592653589 print("PI=",format(p,".2f")) Consulta la sección 2.8 del libro para más detalles. Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 11 20/08/15 Comentarios § 
En Python puedes poner un comentario iniciando con el caracter # § 
§ 
Los comentarios son para las personas que leen el código, la computadora los ignora completamente. En tus códigos, debes agregar al menos dos comentarios # Autor: Tu nombre, matrícula # Descripción de lo que hace el programa Ing. Roberto Mar4nez Román -­‐ [email protected] Ejercicio § 
La secuencia de Fibonacci es la siguiente: 1 1 2 3 5 8 13 21 … § 
Escribe un programa que imprima los primeros 10 números de la serie usando sólo instrucciones secuenciales. Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 12 20/08/15 Ejercicios § 
Escribe un programa que lea los valores de los diferentes sensores del robot y los muestre en pantalla. § 
Consulta los Hpos de sensores que puede leer. § 
hsp://calicoproject.org/Calico_Myro#Reading_Sensors Ing. Roberto Mar4nez Román -­‐ [email protected] Ing. Roberto Mar4nez Román -­‐ [email protected] 13