PYTHON Lección No. 2 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
AGENDA <ul><li>Estructura condicional if </li></ul><ul><li>Operadores relacionales </li></ul><ul><li>Estructura condiciona...
Estructura condicional if (1/3) Igual que otros lenguajes cuando tenemos que tomar una decisión en nuestro  programa debem...
Estructura condicional if (2/3) La estructura if contiene una condición, si dicha condición se verifica verdadera  luego s...
Estructura condicional if (3/3) También similar a otros lenguajes la estructura condicional if tiene una segunda parte que...
Problema propuesto Generar un número aleatorio comprendido entre 1 y 20. Luego mostrar si el valor  generado tiene uno o d...
Problema resuelto Inicializar una variable con un valor entero comprendido entre 1 y 100. Generar luego un  valor aleatori...
Operadores relacionales En Python contamos con los siguientes operadores relacionales:  == Igualdad  !=  Desigualdad  <  M...
Problema resuelto Inicializar dos variables con valores aleatorios comprendidos entre 1 y 10. Mostrar un mensaje si los do...
Estructura condicional if anidada (1/3) En ocasiones cuando hay más de dos caminos posibles es necesario  implementar estr...
Estructura condicional if anidada (2/3) import random  x1=random.randint(1,100)  x2=random.randint(1,100)  x3=random.randi...
Estructura condicional if anidada (3/3) Como podemos observar por el bloque del verdadero del primer if tenemos otra  estr...
Problema resuelto Generar un valor aleatorio entre 1 y 1000. Luego imprimir un mensaje indicando  cuantos dígitos tiene.  ...
Problema Propuesto Generar un valor aleatorio entre -10 y 10. Mostrar un mensaje si el valor generado  es negativo, nulo o...
Operadores lógicos (1/3) En Python contamos con los siguientes operadores lógicos:  and (y)  or (o)  not (no)  Los operado...
Operadores lógicos (2/3) Por ejemplo si tenemos que mostrar un mensaje si la edad de una persona está  comprendida entre 1...
Operadores lógicos (3/3) El operador lógico 'or' hace que con que alguna de las condiciones sea verdadera  luego ejecute e...
Problema resuelto Generar tres números aleatorios y luego imprimir el mayor de los tres. Emplear  condiciones compuestas d...
Problema Propuesto Generar 3 números aleatorios entre 1 y 100. Mostrar un mensaje si todos son  superiores a 10.  import r...
Estructura condicional if-elif (1/2) Esta estructura condicional es una forma más elegante de disponer estructuras  condic...
Estructura condicional if-elif (2/2) Luego con la estructura condicional if/elif:  import random  x=random.randint(1,1000)...
Problema resuelto Almacenar en una variable entera la nota de un alumno, luego mostrar un mensaje  si está promocionado (n...
Problema Propuesto Generar un valor aleatorio comprendido entre 1 y 5. Luego mostrar en castellano  el valor generado.  im...
Estructura repetitiva while (1/2) Las estructuras repetitivas nos permiten ejecutar un bloque de instrucciones varias  vec...
Estructura repetitiva while (2/2) Es importante recordar y remarcar que las instrucciones que se ejecutan en la estructura...
Problema resuelto Mostrar la tabla de multiplicar del 2 (del 2 al 20) empleando una estructura  repetitiva while.  x=2 pri...
Problema Propuesto Generar un valor aleatorio entre 100 y 200. Luego mostrar los números  comprendidos entre 1 y el valor ...
BIBLIOGRAFÍA <ul><li>Página personal de Guido van  Rossum </li></ul><ul><li>Libro texto del curso </li></ul><ul><li>Página...
Muchas gracias por su atención
Upcoming SlideShare
Loading in...5
×

Python02

1,543

Published on

Lección No. 2:
Estructura condicional if, operadores relacionales, estructura condicional if anidada, operadores lógicos, estructura condicional if-elif, estructura repetitiva while.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,543
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
54
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Python02

  1. 1. PYTHON Lección No. 2 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
  2. 2. AGENDA <ul><li>Estructura condicional if </li></ul><ul><li>Operadores relacionales </li></ul><ul><li>Estructura condicional if anidada </li></ul><ul><li>Operadores lógicos </li></ul><ul><li>Estructura condicional if-elif </li></ul><ul><li>Estructura repetitiva while </li></ul>
  3. 3. Estructura condicional if (1/3) Igual que otros lenguajes cuando tenemos que tomar una decisión en nuestro programa debemos utilizar la estructura if. Algo muy importante en el lenguaje Python que no lo tienen otros lenguajes es que la indentación es obligatoria e indica las intrucciones contenidas en un if. Analicemos el siguiente ejemplo: nombre='juan' edad=15 if edad<18: print nombre print ' es menor de edad.' print 'Fin del programa'
  4. 4. Estructura condicional if (2/3) La estructura if contiene una condición, si dicha condición se verifica verdadera luego se ejecutan todas las instrucciones que se encuentran indentadas (es decir corridas a la derecha). Es muy común utilizar una indentación de 4 espacios. En nuestro ejemplo la instrucción: print 'Fin del programa' se encuentra fuera de la estructura if. Si la condición se verifica verdadera luego se ejecutan las instrucciones: print nombre print ' es menor de edad' Es obligatorio luego de la condición del if disponer los dos puntos if edad<18:
  5. 5. Estructura condicional if (3/3) También similar a otros lenguajes la estructura condicional if tiene una segunda parte que es el else, dicha sección se ejecuta si la condición se verifica falsa. nombre='juan' edad=15 print nombre if edad<18: print ' es menor de edad' else: print ' es mayor de edad.' print 'Fin del programa' Nuevamente tener en cuenta que las instrucciones que se indiquen por el else deben estar corridas a derecha (indentadas). La palabra clave else requiere también los dos puntos else:
  6. 6. Problema propuesto Generar un número aleatorio comprendido entre 1 y 20. Luego mostrar si el valor generado tiene uno o dos dígitos. Para generar un valor aleatorio hay una librería que debemos importar (veremos más adelante el concepto de módulos) import random Luego podemos llamar la función randint de dicho módulo, esta función requiere dos valores enteros y nos devuelve otro valor entero comprendido entre ellos (lo selecciona de forma aleatoria, es decir al azar) x=random.randint(1,20) import random x=random.randint(1,20) print x if x<10: print 'El valor generado tiene un digito' else: print 'El valor generado tiene dos digitos'
  7. 7. Problema resuelto Inicializar una variable con un valor entero comprendido entre 1 y 100. Generar luego un valor aleatorio también comprendido entre 1 y 100. Mostrar un mensaje si el valor generado coincide con el valor de la variable (en Python para ver si dos variables almacenan el mismo valor se utiliza el operador relacional == ) import random elegido=25 x=random.randint(1,100) print x if elegido==x: print 'El valor generado coincide con la variable' else: print 'El valor generado no coincide con la variable'
  8. 8. Operadores relacionales En Python contamos con los siguientes operadores relacionales: == Igualdad != Desigualdad < Menor <= Menor o igual > Mayor >= Mayor o igual Cuando disponemos una condición en una estructura condicional debemos utilizar alguno de estos seis operadores relacionales. Toda condición debe tener un operando o valor, luego un operador relacional y finalmente otro operando o valor. Todas estas condiciones son válidas: if edad==18: if edad<=18: if edad!=50: if edad>=18: if valor1<valor2: if valor1>valor2:
  9. 9. Problema resuelto Inicializar dos variables con valores aleatorios comprendidos entre 1 y 10. Mostrar un mensaje si los dos valores generados son iguales. Mostrar un mensaje si el primer valor es menor a 5. Mostrar otro mensaje si el segundo valor es mayor a 5. import random valor1=random.randint(1,10) valor2=random.randint(1,10) print 'Primer valor:' print valor1 print 'Segundo valor:' print valor2 if valor1==valor2: print 'Los dos valores son iguales.' if valor1<5: print 'El primer valor es inferior a 5.' if valor2>5: print 'El segundo valor es superior a 5.'
  10. 10. Estructura condicional if anidada (1/3) En ocasiones cuando hay más de dos caminos posibles es necesario implementar estructuras condicionales anidadas, es decir por la rama del verdadero o falso (else:) disponemos otras estructuras condicionales. Debemos tener cuidado con la indentación del código para evitar errores. Veamos un ejemplo que requiere utilizar estructuras condicionales anidadas. Generaremos tres números aleatorios y luego imprimiremos el mayor de los tres:
  11. 11. Estructura condicional if anidada (2/3) import random x1=random.randint(1,100) x2=random.randint(1,100) x3=random.randint(1,100) print x1, '-‘, x2, '-' , x3 print 'El mayor es:' if x1>x2: if x1>x3: print x1 else: print x3 else: if x2>x3: print x2 else: print x3
  12. 12. Estructura condicional if anidada (3/3) Como podemos observar por el bloque del verdadero del primer if tenemos otra estructura condicional (debemos indentar cada estructura condicional): if x1>x2: if x1>x3: print x1 else: print x3
  13. 13. Problema resuelto Generar un valor aleatorio entre 1 y 1000. Luego imprimir un mensaje indicando cuantos dígitos tiene. import random x1=random.randint(1,1000) print x1 if x1<10: print 'Tiene 1 dígito' else: if x1<100: print 'Tiene 2 dígitos' else: if x1<1000: print 'Tiene 3 dígitos' else: print 'Tiene 4 dígitos'
  14. 14. Problema Propuesto Generar un valor aleatorio entre -10 y 10. Mostrar un mensaje si el valor generado es negativo, nulo o positivo. Para generar un valor aleatorio en ese rango debemos plantear la siguiente expresión: x=-10+random.randint(0,20) import random x=-10+random.randint(0,20) print x if x<0: print 'Numero negativo' else: if x==0: print 'Numero nulo' else: print 'Numero positivo'
  15. 15. Operadores lógicos (1/3) En Python contamos con los siguientes operadores lógicos: and (y) or (o) not (no) Los operadores lógicos nos permiten agrupar condiciones simples en una estructura condicional, esto nos facilita la implementación de algoritmos más compactos y comprensibles. Cuando unimos dos condiciones simples con el operador lógico 'and' ambas condiciones deben verificarse como verdaderas para que la condición compuesta se verifique verdadera.
  16. 16. Operadores lógicos (2/3) Por ejemplo si tenemos que mostrar un mensaje si la edad de una persona está comprendida entre 12 y 18 años podemos plantearla con una única estructura condicional: Estamos diciendo si la variable 'edad' tiene un valor mayor o igual a 12 y además la variable edad tiene un valor menor o igual a 18 luego ejecutar la rama del verdadero. La condición anterior nos evita tener que implementar dos estructuras condicionales: if edad>=12 and edad<=18: print 'Edad comprendida entre 12 y 18' if edad>=12: if edad<=18: print 'Edad comprendida entre 12 y 18'
  17. 17. Operadores lógicos (3/3) El operador lógico 'or' hace que con que alguna de las condiciones sea verdadera luego ejecute el bloque del verdadero. Se ejecuta la rama del verdadero si al menos una de las dos variables es menor a 5. El operador not invierte el valor de una condición: if x1<5 or x2<5: if not x1>x2: Si x1 no es mayor a x2 luego ejecuta la rama del verdadero de la estructura condicional. Podemos plantear condiciones con más de dos condiciones simples: if x1<0 or x2<0 or x3<0: Si x1 o x2 o x3 tienen un valor inferior a cero luego se ejecuta la rama del verdadero del if.
  18. 18. Problema resuelto Generar tres números aleatorios y luego imprimir el mayor de los tres. Emplear condiciones compuestas donde sea posible. import random x1=random.randint(1,100) x2=random.randint(1,100) x3=random.randint(1,100) print x1, '-‘, x2, '-‘, x3 print 'El mayor es:' if x1>x2 and x1>x3: print x1 else: if x2>x3: print x2 else: print x3
  19. 19. Problema Propuesto Generar 3 números aleatorios entre 1 y 100. Mostrar un mensaje si todos son superiores a 10. import random x1=random.randint(1,100) x2=random.randint(1,100) x3=random.randint(1,100) print x1 print '-' print x2 print '-' print x3 if x1>10 and x2>10 and x3>10: print 'Todos los valores son superiores a 10'
  20. 20. Estructura condicional if-elif (1/2) Esta estructura condicional es una forma más elegante de disponer estructuras condicionales anidadas. Veamos como lo hacemos con estructuras condicionales anidadas y luego utilizando la sintaxis if/elif: (problema: generar un número aleatorio entre 1 y 1000, luego imprimir la cantidad de dígitos del número generado) import random x=random.randint(1,1000) print x if x<10: print 'Tiene 1 dígito' else: if x<100: print 'Tiene 2 dígitos' else: if x<1000: print 'Tiene 3 dígitos' else: print 'Tiene 4 dígitos'
  21. 21. Estructura condicional if-elif (2/2) Luego con la estructura condicional if/elif: import random x=random.randint(1,1000) print x if x<10: print 'Tiene 1 dígito' elif x<100: print 'Tiene 2 dígitos' elif x<1000: print 'Tiene 3 dígitos' else: print 'Tiene 4 dígitos'
  22. 22. Problema resuelto Almacenar en una variable entera la nota de un alumno, luego mostrar un mensaje si está promocionado (nota>=14), regular (nota>=11) o reprobado (nota<11) nota=15 print 'Nota:' print nota if nota>=14: print 'Promocionado' elif nota>=11: print 'Regular' else: print 'Reprobado'
  23. 23. Problema Propuesto Generar un valor aleatorio comprendido entre 1 y 5. Luego mostrar en castellano el valor generado. import random x=random.randint(1,5) if x==1: print 'uno' elif x==2: print 'dos' elif x==3: print 'tres' elif x==4: print 'cuatro' elif x==5: print 'cinco'
  24. 24. Estructura repetitiva while (1/2) Las estructuras repetitivas nos permiten ejecutar un bloque de instrucciones varias veces, dependiendo de una condición. La estructura while repite el bloque de instrucciones mientras la condición se verifique verdadera. Si queremos mostrar los números del 1 al 100 con estructuras secuenciales el proceso es largo y engorroso, utilizando una estructura repetitiva el algoritmo es muy compacto: print 'Números del 1 al 100:' x=1 while x<=100: print x print '-' x=x+1 print 'Fin'
  25. 25. Estructura repetitiva while (2/2) Es importante recordar y remarcar que las instrucciones que se ejecutan en la estructura repetitiva while son todas las que se encuentran indentadas a la derecha (cuatro espacios más a la derecha de la instrucción while) La variable x se inicializa previo a la estructura while con el valor 1. La primera vez que se ejecuta la condición del while se verifica verdadera, ya que 1 es menor o igual a 100. Dentro de la estructura repetitiva mostramos el contenido de la variable x, luego imprimimos un guión y finalmente incrementamos la variable x con el valor actual más uno. La impresión de la cadena 'Fin' se ejecuta una vez finalizada la estructura repetitiva while.
  26. 26. Problema resuelto Mostrar la tabla de multiplicar del 2 (del 2 al 20) empleando una estructura repetitiva while. x=2 print 'Tabla del 2:' while x<=20: print x x=x+2
  27. 27. Problema Propuesto Generar un valor aleatorio entre 100 y 200. Luego mostrar los números comprendidos entre 1 y el valor generado. import random x=random.randint(100,200) print 'Número final:' print x cont=1 while cont<=x: print cont print '-' cont=cont+1
  28. 28. BIBLIOGRAFÍA <ul><li>Página personal de Guido van Rossum </li></ul><ul><li>Libro texto del curso </li></ul><ul><li>Página principal de PythonG </li></ul><ul><li>Sitio principal de Python </li></ul><ul><li>Zona de descarga de Python </li></ul><ul><li>Matemáticas con código abierto y Python </li></ul>
  29. 29. Muchas gracias por su atención
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×