Sentencias IF y los bucles WHILE y FOR en Python
- junio 13, 2017
- Publicado por: Rafael Fernandez
- Categoría: Blog Principiante Python
[su_box title=»Objetivo del 4º tutorial de Curso de Python para Principiantes» title_color=»#09090a» radius=»20″ box_color=»#f9ed3b»]Entender las estructuras de control con ejemplos
Controlar el flujo del programa para tomar decisiones y realizar acciones a partir de unos requerimientos dados
[/su_box]
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:
[php]
num=5
num+=3
print(num)
num-=3
print(num)
num*=3
print(num)
num/=2
print(num)
[/php]
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:
[php]
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’)
[/php]
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:
[php]
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))
[/php]
Bucles controlado por Evento:
[php]
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))
[/php]
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:
[php]
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’)
[/php]
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')
[vc_message]
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.
[/vc_message]
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:
[php]
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))
[/php]
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:
[su_button url=»https://unipython.com/curso-python-nivel-principiante/» style=»3d» background=»#f9ed3b» color=»#09090a»]Curso Python desde 0 [/su_button]
[…] 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