Sentencias IF y los bucles WHILE y FOR en Python
- Publicado por: Rafael Fernandez
- Categoría: Blog Principiante Python
Controlar el flujo del programa para tomar decisiones y realizar acciones a partir de unos requerimientos dados
Estructuras de control en Python: If, While y For
Sentencias If
Se usa para tomar decisiones donde se evalúa una expresión que da como resultado un booleano (verdadero o falso). Una vez evaluada la expresión se ejecuta el código. Ejemplo:
num= int(input('escribe un numero\n')) if num < 0: print(' numero negativo') elif num==0: print('el numero es 0') elif num > 0: print('el numero es positivo')
Operadores de asignaciones
Se utilizan para asignar el valor a una variable, parecido a “=”.
- = es el más simple y asignas a la variable izquierda el valor derecho
- += suma a la variable izquierda el valor derecho
- -= restas a la variable izquierda el valor derecho
- \*= multiplicas a la variable izquierda el valor derecho
Ejemplo:
num=5 num+=3 print(num) num-=3 print(num) num*=3 print(num) num/=2 print(num)
Operadores de comparación
Los valores booleanos son el resultado de estas comparaciones:
== ¿son iguales a y b? a = 8 == 2 # r es False
!= ¿son distintos a y b? a= 8 != 2 # r es True
< ¿es a menor que b? a = 8 < 2 # r es False
> ¿es a mayor que b? a = 8 > 2 # r es True
<= ¿es a menor o igual que b? a = 8 <= 8 # r es True
>= ¿es a mayor o igual que b? a = 8 >= 2 # r es True
Ejemplo:
f=3 h=2 if (f==h): print('los numeros son iguales') else: print('los numeros NO son iguales') if (f<h): print('el numero h es MAYOR que el f') else: print('el numero h NO es MAYOR que el f') if (f>=h): print('el numero f es MAYOR o IGUAL que el h') else: print('el numero f NO es MAYOR NI IGUAL que el h')
Operadores de Lógicos
Son los operadores para trabajar con números booleanos:
and ¿se cumple a y b? r = True and False # r es False
or ¿se cumple a o b? r = True or False # r es True
not No a r = not True # r es False
Ejemplo:
f=3 h=2 if (f and h)==3: print('los numeros son IGUALES a 3') else: print(' los numeros NO son IGUALES a 3') if (f or h)==3: print('f o h es IGUAL a 3') else: print('NI f NI h es IGUAL a 3')
BUCLES WHILE
Este ciclo nos permite llevar a cabo múltiples iteraciones analizando una expresión lógica que puede tener un valor verdadero o falso.
Tipos de Bucles while:
Bucles While controlado por conteo:
print('While controlado por conteo') print('===============================') print('Sumador numero hasta 10') sum=0 num=1 while (sum<=10): sum=num+sum num=num+1 print('La suma es ' +str(sum))
Bucles controlado por Evento:
print('While controlado con Evento') print('===============================') print('Calcular promedio') promedio=0.1 total=0 contar=0 print('Escribe el valor (-1 para salir):') grado=int(input()) while grado !=-1: total=total+grado contar= contar + 1 print('Escribe el valor (-1 para salir):') grado=int(input()) promedio=total/contar print('El promedio es ' +str(promedio))
Usando sentencias Break
Estas sentencias se usan cuando queremos para un ciclo (break) o cuando queremos que un ciclo continue aunque no se haya terminado.
Ejemplo break:
print('While con sentencia break') print('===============================') print('Sumador numero hasta 20') sum=0 num=0 while (sum<=30): sum=num+sum num=num+1 print('El num es ' +str(num)) if num > 4: break print('La suma es ' +str(sum) + ' y no ha llegado a 30 por el break')
Usando sentencias Continue
Ejemplo continue:
print('While con sentencia continue') print('===============================') vari=10 while (vari>0): vari -=1 if vari== 4: print('entra en el continue y la vari es ' +str(vari)) continue print('Hola mundo')
Continue sirve para indicarle a una sentencia while que al entrar a un blucke if no debe detenerse allí, si no que queremos que continue con la ejecución del programa.
Tipo de bucles for
Normalmente estos bucles iteran sobre una progresión numérica aunque en Python podemos iterar no solo una progresión numérica sino también una secuencia como una lista o una cadena de texto.
Bucles for con listas:
ejemplo 1:
print('for con listas') print('===============================') nombre_list=['paco','manu','alonso'] for nombre in nombre_list: print('Su nombre es: ', nombre, ' el numero de letras son:', len(nombre))
ejemplo 2:
a=[1, 2, 3, 4 ,5] for i in a: print('el bucle va por el numero: ',i, 'y la longitud de la lista es: ',len(a))
Bucles for con Tuplas
tupla_list=[ ('paco','48989642','madrid','encargado'), ("maria","47859567",'barcelona', 'empleada') ] for tupla in tupla_list: print(tupla)
➡ Aprende Python desde el nivel mas básico en
nuestro Curso de Python para Principiantes:
[…] Aquí podemos ver como también podemos hacer for anidados o también if como hicimos en el artículo de Sentencias IF y los bucles WHILE y FOR […]
[…] Si has llegado hasta aquí enorabuena 👍 pasa a la siguiente lección ➡ Sentencias IF y los bucles WHILE y FOR […]
[…] los conceptos fundamentales sobre los tipos de datos y variables en Python asi como las sentencias y bucles, los cuales son usados no solo en python sino por cualquier lenguaje de programación. […]
[…] de la clase de Sentencias IF y los bucles WHILE y FOR en Python y Funciones y como depurar (debbugin) en Spyder Anaconda ahora vamos con 2 ejemplos sobre números […]
[…] ha añadido una estructura if para el […]
[…] Aquí podemos ver como también podemos hacer for anidados o también if como hicimos en el artículo de Sentencias IF y los bucles WHILE y FOR […]
[…] Aquí podemos ver como también podemos hacer for anidados o también if como hicimos en el artículo de Sentencias IF y los bucles WHILE y FOR […]
[…] de la clase de Sentencias IF y los bucles WHILE y FOR en Python y Funciones y como depurar (debbugin) en Spyder Anaconda ahora vamos con 2 ejemplos sobre números […]
Exlente
[…] código está formado por 2 estructuras básicas, un bucle while y una sentencia if. A partir de estas dos estructuras podemos decir que la cámara siempre está en funcionamiento con […]
en el codigo el mayor que y menor que (><) se observa como < y > y causa algo de confucion.
Buen tutorial.
corregido, gracias por comentar!
f=3
h=2
if (f and h)==3:
print(‘los numeros son IGUALES a 3’)
else:
print(‘ los numeros NO son IGUALES a 3’)
if (f or h)==3:
print(‘f o h es IGUAL a 3’)
else:
print(‘NI f NI h es IGUAL a 3’)
Buenas Tardes,
tal como esta el ejemplo se cumple todo correctamente, pero si coloco h=2 y f=3; ya no arroja datos coherentes.
para ello hice lo siguiente:
f=3
h=2
if (f==3 and h==3):
print(‘los numeros son IGUALES a 3’)
else:
print(‘los numeros NO son IGUALES a 3’)
if (f==3 or h==3):
print(‘a o b es IGUAL a 3’)
else:
print(‘NI a NI b es IGUAL a 3’)
porque sucede esto?
pana, eso sucede por que el operador and se usa para comparar dos constantes o variables booleanas, no se asumen si son otro tipo de variable, por ello la sintaxis correcta es la segunda