22 abril, 2021

PROGRAMAR INSTRUCCIÓN FOR EN PYTHON

Hola todos!, Espero que estéis bien!.

Como habéis podido observar llevo un tiempo publicando sobre nuevas herramientas, sobre todo typescript. Creo que es necesario introducir nuevos elementos en la web para enriquecer así contenidos y elevar la calidad de las publicaciones.

Por eso, el de hoy será uno de los muchos post que tengo intención de publicar sobre Python, y lo hago sobre este lenguaje porque es bastante sencillo de comprender en sus fundamentos y en la lógica de su programación tiene similitudes importantes con otros lenguajes.

Por ello, para el ejercicio de hoy me gustaría comenzar por una de las cosas que más me gustan en programación, los bucles. En concreto la instrucción For. Para hacer el ejercicio mucho más ameno utilizaré el siguiente ejemplo, imaginad una lista con los siguientes números:

4,25,-35,98,100,-52,56,-99

y que queremos obtener la suma de los números positivos y la suma de los números negativos y además el detalle de los números que suman en cada caso.

Bien, como podéis imaginar necesitamos un procedimiento que recorra los números y que nos indique aquellos que son positivos o negativos y que los sume. Pues bien, este sería el código que he programado en python:

post = 0
negat = 0
det_post=''
det_negat=''
for i in (4,25,-35,98,100,-52,56,-99):
    if i > 0:
        post = post + i
        det_post= str(det_post) + "+" + str(i)    
    else:
        negat = negat + i
        det_negat= str(det_negat) + "+" + str(i)
print("La suma de positivos es de: " + str(post) + " este es el detalle: " + det_post)
print("La suma de negativos es de: " + str(negat) + " este es el detalle:" + det_negat)

El resultado de este código es el siguiente:

La suma de positivos es de: 283 este es el detalle: +4+25+98+100+56
La suma de negativos es de: -186 este es el detalle:+-35+-52+-99

Como se puede apreciar, mediante el for recorremos la lista de números y con el if comprobamos si el número es positivo o negativo. Una vez detectado procedemos a sumar y también a crear un string con los números almacenados.

Este es un ejemplo muy sencillo de funcionamiento de un for en python y de la información que genera.

Si lo deseáis exportar a Excel, una posible forma es utilizando Pandas, así:

import pandas as pd
post = 0
negat = 0
det_post=''
det_negat=''
for i in (4,25,-35,98,100,-52,56,-99):
    if i > 0:
        post = post + i
        det_post= str(det_post) + "+" + str(i)    
    else:
        negat = negat + i
        det_negat= str(det_negat) + "+" + str(i)
df = pd.DataFrame({'POSITIVOS': [post] , 'DETALLE SUMA POSITIVOS': [det_post],'NEGATIVOS': [negat] , 'DETALLE SUMA NEGATIVOS': [det_negat]})
df.to_excel(r"C:\Users\USUARIO\OneDrive\Documents-Segu\EJEMPLO_NUMEROS.xlsx",sheet_name='Hoja1',index=False, header=True)  
print("La suma de positivos es de: " + str(post) + " este es el detalle: " + det_post)
print("La suma de negativos es de: " + str(negat) + " este es el detalle:" + det_negat)

Obviamente, para esta forma tenéis que crear previamente el archivo e incluir la ruta en el código y el dato de grabará en el archivo:

Y esta sería una captura de pantalla del código (En Visual Studio Code):

Y esto es todo, espero que os haya resultado interesante!.

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies