Presentación
Transcripción
Presentación
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