SlideShare ist ein Scribd-Unternehmen logo
1 von 29
PYTHON Lección No. 2 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
AGENDA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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'
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:
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:
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'
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'
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:
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.'
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:
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
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
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'
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'
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.
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'
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.
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
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'
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'
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'
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'
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'
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'
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.
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
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
BIBLIOGRAFÍA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Muchas gracias por su atención

Weitere ähnliche Inhalte

Was ist angesagt?

Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico
Solución de Sistemas de Ecuaciones Lineales Analisis numericolmpd124
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxjgs07
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlLic_Vera
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producciónsolesito1237
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Clase 06 aplicaciones de ecuaciones diferenciales
Clase 06  aplicaciones de ecuaciones diferencialesClase 06  aplicaciones de ecuaciones diferenciales
Clase 06 aplicaciones de ecuaciones diferencialesJimena Rodriguez
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógicaDarwin_Cusme
 
Ejercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosEjercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosrasave
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPMiguelGomez371
 
Ejercicio de máquina de turing
Ejercicio de máquina de turingEjercicio de máquina de turing
Ejercicio de máquina de turingJonathan Bastidas
 

Was ist angesagt? (20)

Algoritmos+y+solucion+de+problemas
Algoritmos+y+solucion+de+problemasAlgoritmos+y+solucion+de+problemas
Algoritmos+y+solucion+de+problemas
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Procesos
ProcesosProcesos
Procesos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
ALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINTALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINT
 
Reglas de producción
Reglas de producciónReglas de producción
Reglas de producción
 
Punteros y funciones
Punteros y funciones Punteros y funciones
Punteros y funciones
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Clase 06 aplicaciones de ecuaciones diferenciales
Clase 06  aplicaciones de ecuaciones diferencialesClase 06  aplicaciones de ecuaciones diferenciales
Clase 06 aplicaciones de ecuaciones diferenciales
 
Expresiones logicas
Expresiones logicasExpresiones logicas
Expresiones logicas
 
Lenguajes de programación lógica
Lenguajes de programación lógicaLenguajes de programación lógica
Lenguajes de programación lógica
 
Ejercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosEjercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registros
 
IA Prolog
IA PrologIA Prolog
IA Prolog
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UP
 
Ejercicio de máquina de turing
Ejercicio de máquina de turingEjercicio de máquina de turing
Ejercicio de máquina de turing
 

Ähnlich wie Python Lección No. 2 - Estructuras condicionales if, if-elif, operadores lógicos y while

Ähnlich wie Python Lección No. 2 - Estructuras condicionales if, if-elif, operadores lógicos y while (20)

Clase 6
Clase 6Clase 6
Clase 6
 
7. estructura condicional if
7.  estructura condicional if7.  estructura condicional if
7. estructura condicional if
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
 
Clase lenguaje c xxxxxx
Clase lenguaje c xxxxxxClase lenguaje c xxxxxx
Clase lenguaje c xxxxxx
 
Clase lenguaje c
Clase lenguaje c Clase lenguaje c
Clase lenguaje c
 
Operaciones
OperacionesOperaciones
Operaciones
 
Curso php - capitulo 2
Curso php - capitulo 2Curso php - capitulo 2
Curso php - capitulo 2
 
Practicas sencillas para C#
Practicas sencillas para C# Practicas sencillas para C#
Practicas sencillas para C#
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
7 manual software pseint
7 manual software pseint7 manual software pseint
7 manual software pseint
 
Pseint
PseintPseint
Pseint
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Script
 
6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas
 
Ejercicios tema4 parte1_soluciones (2)
Ejercicios tema4 parte1_soluciones (2)Ejercicios tema4 parte1_soluciones (2)
Ejercicios tema4 parte1_soluciones (2)
 
Suma de imagenes
Suma de imagenesSuma de imagenes
Suma de imagenes
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Guia de estructuras Condicionales
Guia de estructuras CondicionalesGuia de estructuras Condicionales
Guia de estructuras Condicionales
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Estructuras decision
Estructuras decisionEstructuras decision
Estructuras decision
 

Mehr von Victor Pando

Análisis del Sector Metalmecánica
Análisis del Sector MetalmecánicaAnálisis del Sector Metalmecánica
Análisis del Sector MetalmecánicaVictor Pando
 
Video y Multimedia
Video y MultimediaVideo y Multimedia
Video y MultimediaVictor Pando
 
Panorama General de Open Office 3.0
Panorama General de Open Office 3.0Panorama General de Open Office 3.0
Panorama General de Open Office 3.0Victor Pando
 
Lección No. 1 de Python
Lección No. 1 de PythonLección No. 1 de Python
Lección No. 1 de PythonVictor Pando
 
Curso Básico de Windows XP
Curso Básico de Windows XPCurso Básico de Windows XP
Curso Básico de Windows XPVictor Pando
 
Tecnología Bluetooth
Tecnología BluetoothTecnología Bluetooth
Tecnología BluetoothVictor Pando
 
Redes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11bRedes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11bVictor Pando
 
Administración de Sistemas de Información
Administración de Sistemas de InformaciónAdministración de Sistemas de Información
Administración de Sistemas de InformaciónVictor Pando
 
Introducción al WAP
Introducción al WAPIntroducción al WAP
Introducción al WAPVictor Pando
 
Estado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería CivilEstado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería CivilVictor Pando
 

Mehr von Victor Pando (15)

Análisis del Sector Metalmecánica
Análisis del Sector MetalmecánicaAnálisis del Sector Metalmecánica
Análisis del Sector Metalmecánica
 
Linux02
Linux02Linux02
Linux02
 
Python06
Python06Python06
Python06
 
Python05
Python05Python05
Python05
 
Python04
Python04Python04
Python04
 
Python03
Python03Python03
Python03
 
Video y Multimedia
Video y MultimediaVideo y Multimedia
Video y Multimedia
 
Panorama General de Open Office 3.0
Panorama General de Open Office 3.0Panorama General de Open Office 3.0
Panorama General de Open Office 3.0
 
Lección No. 1 de Python
Lección No. 1 de PythonLección No. 1 de Python
Lección No. 1 de Python
 
Curso Básico de Windows XP
Curso Básico de Windows XPCurso Básico de Windows XP
Curso Básico de Windows XP
 
Tecnología Bluetooth
Tecnología BluetoothTecnología Bluetooth
Tecnología Bluetooth
 
Redes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11bRedes WiFi 821.11 a vs. 802.11b
Redes WiFi 821.11 a vs. 802.11b
 
Administración de Sistemas de Información
Administración de Sistemas de InformaciónAdministración de Sistemas de Información
Administración de Sistemas de Información
 
Introducción al WAP
Introducción al WAPIntroducción al WAP
Introducción al WAP
 
Estado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería CivilEstado del Arte de Hardware y Software para Ingeniería Civil
Estado del Arte de Hardware y Software para Ingeniería Civil
 

Kürzlich hochgeladen

Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 

Kürzlich hochgeladen (20)

Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 

Python Lección No. 2 - Estructuras condicionales if, if-elif, operadores lógicos y while

  • 1. PYTHON Lección No. 2 M.Sc. Victor Pando Beltrán [email_address] http://www.civil-uancv.pe/aulavirtual
  • 2.
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  • 29. Muchas gracias por su atención