SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

What's hot (20)

Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Programas de computacion en Pseint
Programas de computacion en PseintProgramas de computacion en Pseint
Programas de computacion en Pseint
 
Agentes reactivos basados en modelos
Agentes reactivos basados en modelosAgentes reactivos basados en modelos
Agentes reactivos basados en modelos
 
nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)
 
Programa de Cola Estática
Programa de Cola EstáticaPrograma de Cola Estática
Programa de Cola Estática
 
Estructura for and while pseint - Herramientas CASE
Estructura for and while pseint - Herramientas CASEEstructura for and while pseint - Herramientas CASE
Estructura for and while pseint - Herramientas CASE
 
costos del software
costos del softwarecostos del software
costos del software
 
Requerimientos de la base de datos
Requerimientos de la base de datosRequerimientos de la base de datos
Requerimientos de la base de datos
 
Caso práctico
Caso prácticoCaso práctico
Caso práctico
 
Paradigmas y dominios en java
Paradigmas y dominios en javaParadigmas y dominios en java
Paradigmas y dominios en java
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Operadores en c_ (1)
Operadores en c_ (1)Operadores en c_ (1)
Operadores en c_ (1)
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Montar servidor ftp con filezilla server
Montar servidor ftp con filezilla server Montar servidor ftp con filezilla server
Montar servidor ftp con filezilla server
 
Arreglos
ArreglosArreglos
Arreglos
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Ejercicios de qbasic
Ejercicios de qbasicEjercicios de qbasic
Ejercicios de qbasic
 
Algoritmos resueltos
Algoritmos resueltosAlgoritmos resueltos
Algoritmos resueltos
 

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

Similar to 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
Clase lenguaje c Clase lenguaje c
Clase lenguaje c
 
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
 
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
 

More from 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
 

More from 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
 

Recently uploaded

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 

Recently uploaded (20)

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .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