Tutorial Python (in Work)
  • 1 - Objetivos del tutorial de Python
  • 2 - Instalación del lenguaje y pasos para crear nuestro primer programa
  • 3 - Codificación del diagrama de flujo en Python
  • 4 - Errores sintácticos y lógicos
  • 5 - Estructura de programación secuencial
  • 6 - Estructuras condicionales simples y compuestas
  • 7 - Estructuras condicionales anidadas
  • 8 - Condiciones compuestas con operadores lógicos
  • 9 - Estructura repetitiva while
  • 10 - Estructura repetitiva for
  • 11 - Definición de comentarios en el código fuente
  • 12 - Variables enteras, flotantes y cadenas de caracteres
  • 13 - Procesar cadenas de caracteres
  • 14 - Estructura de datos tipo lista
  • 15 - Listas: carga por teclado de sus elementos
  • 16 - Listas: mayor y menor elemento
  • 17 - Listas paralelas
  • 18 - Listas: ordenamiento de sus elementos
  • 19 - Listas: ordenamiento con listas paralelas
  • 20 - Listas: componentes de tipo lista
  • 21 - Listas: carga por teclado de componentes de tipo lista
  • 22 - Listas: eliminación de elementos
  • 23 - Concepto de funciones - Programación estructurada
  • 24 - Funciones: parámetros
Con tecnología de GitBook
En esta página
  • Ejemplos
  • Operador or
  • Problemas propuestos

¿Te fue útil?

8 - Condiciones compuestas con operadores lógicos

Operadores relacionales, mátematicos y lógicos.

Anterior7 - Estructuras condicionales anidadasSiguiente9 - Estructura repetitiva while

Última actualización hace 4 años

¿Te fue útil?

Hasta ahora hemos visto los operadores:

  • Relacionales: (> , < , >= , <= , == , !=)

  • Mátematicos: (+ , - , * , / , // , **)

Pero nos están faltando otros operadores imprescindibles :

  • Lógicos: (and y or)

Estos dos operadores se emplean fundamentalmente en las estructuras condicionales para agrupar varias condiciones simples.

Operador and

  • En español se traduce como "y".

  • Si ambas condiciones son verdaderas, se ejecuta la rama de verdadero.

  • Si una de las condiciones es falsa, se ejecuta la rama de falso.

Ejemplos

Ejemplo 1

La primera estructura condicional es una estructura condicional compuesta con una condición compuesta. Similarmente la segunda pero con una condición simple.

#numbers
numb1= int (input("Number1: "))
numb2= int (input("Number2: "))
numb3= int (input("Number3: "))
#greater number
print ("the greater number is: ")
if(numb1>=numb2 and numb1>=numb3):
    print (numb1)
elif(numb2>numb1 and numb2>numb3):
    print(numb2)
else :
    print(numb3)    

  • En español se traduce como "O".

  • Si una de las condiciones es verdaderas, se ejecuta la rama de verdadero.

  • Si ambas condiciones son falsas, se ejecuta la rama de falso.

Ejemplo 2

Se carga una fecha (día, mes y año) por teclado. Mostrar un mensaje si corresponde al primer trimestre del año (enero, febrero o marzo) Cargar por teclado el valor numérico del día, mes y año. Ejemplo: dia:10 mes:2 año:2020

La carga de una fecha se hace por partes, ingresamos las variables dia, mes y año. Mostramos el mensaje "Corresponde al primer trimestre" en caso que el mes ingresado por teclado sea igual a 1, 2 ó 3. En la condición no participan las variables dia y año.

#day
day=int(input("Day: "))
month=int(input("Month: "))
year=int(input("Year: "))
if(month==0 or month==1 or month==2 or month==3):
    print("The first trimester")

Problema 1

Problema 2

Se ingresan por teclado tres números, si al menos uno de los valores ingresados es menor a 10, imprimir en pantalla la leyenda "Alguno de los números es menor a diez".

Problema 3

Escribir un programa que pida ingresar la coordenada de un punto en el plano, es decir dos valores enteros x e y (distintos a cero). Posteriormente imprimir en pantalla en que cuadrante se ubica dicho punto. (1º Cuadrante si x > 0 Y y > 0 , 2º Cuadrante: x < 0 Y y > 0, etc.)

Problema 4

De un operario se conoce su sueldo y los años de antigüedad. Se pide confeccionar un programa que lea los datos de entrada e informe:

  • Si el sueldo es inferior a 500 y su antigüedad es igual o superior a 10 años, otorgarle un aumento del 20 %, mostrar el sueldo a pagar.

  • Si el sueldo es inferior a 500 pero su antigüedad es menor a 10 años, otorgarle un aumento de 5 %.

  • Si el sueldo es mayor o igual a 500 mostrar el sueldo en pantalla sin cambios.

Problema 5

Escribir un programa en el cual: dada una lista de tres valores numéricos distintos se calcule e informe su rango de variación (debe mostrar el mayor y el menor de ellos)

#numbers
numb1= int (input("Number1: "))
numb2= int (input("Number2: "))
numb3= int (input("Number3: "))
if(numb1<=10 and numb2<=10 and numb3<=10):
    print ("The numbers are less equals than 10")

#numbers
numb1= int (input("Number1: "))
numb2= int (input("Number2: "))
numb3= int (input("Number3: "))
if(numb1<=10 or numb2<=10 or numb3<=10):
    print ("The some numbers are less equals than 10")
# axis
x=int(input("Enter axis X: "))
y=int(input("Enter axis X: "))
#origin
print("the point is: ")
if(x==0 and y==0):
    print("origin")
# Y axis    
elif(x==0):
    if(y>0):
        print("positive Y axis")
    elif(y<0):
        print("negative y axis")
# X axis
elif(y==0):
    if(x>0):
        print("positive X axis")
    elif(x<0):
        print("negative X axis")
# first and four quadrant        
elif(x>0):
    if(y>0):
        print("first quadrant")
    else:
        print("four quadrant")
#second and third
elif(x<0):
    if(y>0):
        print("second quadrant")
    else:
        print("third quadrant")
#data
antiquity=int (input("Enter worker's antiquity: "))
salary=int(input("Enter worker's salary: $"))
# salary increase
if(salary<500):
    if(antiquity>=10):
        salary=salary+salary*0.2
    else:
        salary=salary+salary*0.05
print("Salary: $",salary)
    
#numbers
numb1= int (input("Number1: "))
numb2= int (input("Number2: "))
numb3= int (input("Number3: "))
#Greater
if(numb1>=numb2 and numb1>=numb3):
    print ("Greater number: ",numb1)
elif(numb2>numb1 and numb2>numb3):
    print ("Greater number: ",numb2)
elif(numb3>numb1 and numb3>numb2):
    print ("Greater number: ",numb3)
#Minor
if(numb1<=numb2 and numb1<=numb3):
    print ("Minor number: ",numb1)
elif(numb2<numb1 and numb2<numb3):
    print ("Minor number: ",numb2)
elif(numb3<numb1 and numb3<numb2):
    print ("Minor number: ",numb3)

La utilización de operadores lógicos permiten en muchos casos plantear algoritmos más cortos y comprensibles.

Confeccionar un programa que lea por teclado tres números enteros distintos y nos muestre el mayor .

Este ejercicio se puede resolver sin operadores lógicos pero el utilizarlos nos permite que sea mas simple la solución.

Si una de las condiciones simples da falso la condición compuesta da falso y continúa por la rama del falso. Es decir que se mostrará el contenido de num1 si y sólo si num1 > num2 y num1 > num3. En caso de ser falsa la condición, analizamos el contenido de num2 y num3 para ver cual tiene un valor mayor. En esta segunda estructura condicional no se requieren operadores lógicos al haber una condición simple.

Operador or

Problemas propuestos

Ha llegado una parte fundamental , que es el momento donde uno desarrolla individualmente un algoritmo para la resolución de problemas. El tiempo a dedicar a esta sección ejercicios propuestos debe ser mucho mayor que el empleado a la sección de ejercicios resueltos. La experiencia dice que debemos dedicar el 80% del tiempo a la resolución individual de problemas y el otro 20% al análisis y codificación de problemas ya resueltos por otras personas.

Se ingresan por teclado tres números, si todos los valores ingresados son menores a 10, imprimir en pantalla la leyenda "Todos los números son menores a diez".

Solución

Nota : Inténtalo tu mism@, esta es la mejor forma de aprender o si quieres ver otro algoritmo para solucionar el mismo problema.

🤓
🖥️
🤓
👨🏾‍💻
🇴
🇷
📚
😀
✍🏾
👩🏾‍💻
🕖
🗃️
🖥️
🆘
👩‍🏫
📈
👀
👨‍💻
👁️‍🗨️
🇦
🇳
🇩
Diagrama de flujo operador and
Diagrama de flujo operador or
Diagrama de flujo ejemplo 2