0% encontró este documento útil (0 votos)
116 vistas

Final Programación

El documento describe conceptos básicos de programación como variables, tipos de datos, operadores, condicionales y entrada de datos. Explica que una variable es un espacio de memoria para almacenar datos, y describe tipos como enteros, flotantes, cadenas y booleanos. También cubre operadores aritméticos, palabras reservadas y cómo crear condicionales if/else.

Cargado por

bl0014
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
116 vistas

Final Programación

El documento describe conceptos básicos de programación como variables, tipos de datos, operadores, condicionales y entrada de datos. Explica que una variable es un espacio de memoria para almacenar datos, y describe tipos como enteros, flotantes, cadenas y booleanos. También cubre operadores aritméticos, palabras reservadas y cómo crear condicionales if/else.

Cargado por

bl0014
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 32

FINAL PROGRAMACION 1

VARIABLES
● En programación, una variable es un espacio de memoria donde se guardan y
recuperan los datos que utiliza un programa.
● Cada variable debe tener un nombre con el cual se podrá identificar y referirse
a ella, durante el desarrollo de un programa.
● El nombre de la variable no puede coincidir con los nombres de los comandos
asignados a este lenguaje de programación, además de que no deberá contener
espacios en blanco.
● Variables que almacenan números
○ Números enteros → int
○ Números reales/decimales → float
● Variables que almacenan texto (entre “”) → str

PALABRAS RESERVADAS
● Son identificadores para uso exclusivo del lenguaje de programación, que no
pueden ser utilizados para identificar y nombrar variables, métodos, objetos o
cualquier elemento dentro de nuestro código.
● Al intentar utilizar las palabras reservadas fuera del uso que tienen asignado,
lo que obtendremos será un error de compilación.

and del for is raise assert

if else elif from lambda return

break global not try class except

or while continue exec import yield

def finally in print

CADENAS DE CARACTERES O STRINGS


● Es una serie de caracteres compuestas por letras, números, signos y símbolos,
que dentro de sus funciones, destaca la interacción de un programa con el
usuario
● Existen distintas operaciones para manipular una cadena de caracteres
○ La asignación → consiste en asignar una cadena de caracteres a otra,
utilizando el operador +=

mensaje = “Hola”
mensaje += “ ”
mensaje += “Cami”
print(mensaje)

RESULTADO:
Hola Cami

○ La concatenación → consiste en unir dos cadenas o más, para formar una


cadena de mayor tamaño, utilizando el operador +. Otra opción más

1
eficiente es utilizar comas, de esta manera se agregan espacios y se
pueden combinar variables tanto de texto, como de números.

mensaje = “Hola”
espacio = “ ”
nombre = “Cami”
print(mensaje+espacio+nombre)

mensaje = “Hola”
nombre = “Cami”
print(mensaje,nombre)

RESULTADO:
Hola Cami
Hola Cami

OPERADORES ARITMÉTICOS
● Son aquellos que manipulan datos numéricos, tanto números enteros, así como
números decimales también conocidos como reales.
● Estos operadores son los más sencillos de todos, se utilizan para realizar
operaciones aritméticas básicas, como son, sumas, restas, multiplicaciones,
divisiones, módulo o residuo y exponenciales.
○ Suma (+)
○ Resta (-)
○ Multiplicación (*)
○ Exponente (**)
○ Módulo (%)
○ División (/)
○ División entera (//)

COMENTARIOS
● Anotaciones significativas para los programadores, pero ignorados por el
programa.
○ “ ” → comillas simples, siempre y cuando no son asignados a una variable,
ya que se interpretan como un valor nulo y por tal motivo Python no los
toma en cuenta.
○ “““ ””” → comillas triples.
○ #

“Hola soy Cami”

“““Hola soy
Cami”””

#Hola soy Cami

TIPOS DE DATOS
● Enteros y Largos

2
○ Los números enteros, son aquellos que no tienen decimales, tanto positivos
como negativos
○ Se pueden representar mediante el tipo int (entero) o el tipo long (largo)
● Flotantes o reales
○ Los números flotantes, son los que tienen decimales, tanto positivos como
negativos
○ Se expresan mediante el tipo float
● Cadenas o Strings
○ No son más que un texto encerrado entre comillas simples, dobles o triples
(permitiendo saltos de línea).
● Booleano
○ Solo puede tener dos valores → True or False. Estos valores son
especialmente importantes para las expresiones condicionales y los bucles.
○ Se expresan mediante el tipo bool

➔ Se utiliza type(variable) para saber que tipo de dato tiene una variable

#TIPO DE DATO ENTERO


numero=15
print(numero, type(numero))
#TIPO DE DATO FLOAT
numero_float=15.5
print(numero_float, type(numero_float))
#TIPO DE DATO STRING
nombre="Ernesto"
print(nombre, type(nombre))
#TIPO DE DATO BOOLEANO
true_false=3==3
print(true_false, type(true_false))

RESULTADO:
15 <class 'int'>
15.5 <class 'float'>
Ernesto <class 'str'>
True <class 'bool'>

ENTRADA DE DATOS EN EL TECLADO

input → permite solicitar datos desde el teclado

EJEMPLO → si especifico el tipo de dato, ejemplo int o float, e introduzco otro tipo
de dato diferente, me va a dar error.

palabra = input(“Introduce una palabra: ”)


#Cuando queremos guardar número enteros:
num_int = int(input(“Introduce un número entero: ”))
#Cuando queremos guardar número float:
num_float = float(input(“Introduce un número float: ”))

3
print(“String: ”, palabra)
print(“Entero: ”, num_int)
print(“Float: ”, num_float)

RESULTADO:
Introduce una palabra: hola
Introduce un número entero: 3
Introduce un número float: 2.5
String: hola
Entero: 3
Float: 2.5

nombre = input(“¿Cuál es tu nombre?: ”)


print(“Hola: ” + nombre + “, vamos a realizar una suma.”)

num_uno = int(input(“Por favor introduce el primer valor: ”))


num_dos = int(input(“Por favor introduce el segundo valor: ”))

resultado = num_uno + num_dos

print(nombre + “ El resultado de la suma es: ”, resultado)

RESULTADO:
¿Cuál es tu nombre?: cami
Hola cami, vamos a realizar una suma.
Por favor introduce el primer valor: 3
Por favor introduce el segundo valor: 5
cami El resultado de la suma es: 8

CONDICIONALES
● Es una instrucción o grupo de instrucciones, que se ejecutan cuando a un
programa se le establece una condición lógica. Al cumplirse dicha condición, el
programa ejecuta la instrucción que ha sido asignada a esta condición
● Nos ayudan a controlar la toma de decisiones dentro de un programa, haciendo uso
de la lógica
● Comprueban si una condición es verdadera o falsa y con base a eso lleva a cabo
una acción

SENTENCIAS CONDICIONALES SIMPLES:


● if [condición lógica] :
[Instrucción]
[Instrucción]
[Instrucción]

○ Nuestro programa evalúa la condición y hay dos caminos posibles: se cumple


(verdadero) o no se cumple (falso)

4
IN

Fal Ver
COND
INSTR

FI
○ Todo lo de abajo del if (con el espacio) es parte de la condición

num_uno = 5
if num_uno == 5:
print("El número es cinco")
print("Fin.")

RESULTADO:
El número es cinco
Fin.

num_uno = 10
if num_uno == 5:
print("El número es cinco")
print("Fin.")

RESULTADO:
Fin.

#En este caso 10 no es = a 5, por lo que la condición no se cumple y se va por el


camino del falso. Por ende, sale de la sentencia condicional y pasa a la instrucción
que ya no pertenece a dicha sentencia

print("Sistema para calcular el promedio de un alumno.")

nombre = input("Para comenzar, ¿cuál es tu nombre?: ")

matematica = int(input(nombre + " ¿Cuál es tu nota de matemática?: "))


quimica = int(input(nombre + " ¿Cuál es tu nota de química?: "))
biologia = int(input(nombre + " ¿Cuál es tu nota de biología?: "))

promedio = (matematica + quimica + biologia) / 3


promedio = int(promedio)

if promedio >= 6:
print ("Felicidades " + nombre + " aprobaste con un promedio de: ", promedio)

print("Fin")

5
RESULTADO:
Sistema para calcular el promedio de un alumno.
Para comenzar, ¿cuál es tu nombre?: cami
cami ¿Cuál es tu nota de matemática?: 9
cami ¿Cuál es tu nota de química?: 8
cami ¿Cuál es tu nota de biología?: 7
Felicidades cami aprobaste con un promedio de: 8
Fin

SENTENCIAS CONDICIONALES COMPUESTAS


● Son aquellas que nos permiten tener una instrucción a ejecutar de acuerdo a la
condición establecida
● Si la condición se cumple, habrá una instrucción a ejecutar correspondiente a la
rama verdadero
● Si la condición en “NO” se cumple, habrá otra instrucción a ejecutar
correspondiente a la rama de falso
● Jamás se ejecutarán de manera simultánea las instrucciones de ambas ramas,
únicamente, se ejecutará la instrucción correspondiente a la rama de verdadera o
falso, cuya decisión es determinada por la condición establecida
● If [condición lógica] :
[Instrucción]
Else:
[Instrucción]

IN

Fa Ve
CON
INST INST

FI

num_uno=5

if num_uno == 5:
print("El número es cinco.")
else:
print("El número NO es cinco.")

print("Fin.")

RESULTADO:
El número es cinco.
Fin.

num_uno=10

6
if num_uno == 5:
print("El número es cinco.")
else:
print("El número NO es cinco.")

print("Fin.")

RESULTADO:
El número NO es cinco.
Fin.

print("Sistema para calcular el promedio de un alumno.")

nombre = input("Para comenzar, ¿cuál es tu nombre?: ")

matematica = float(input(nombre + " ¿Cuál es tu nota de matemática?: "))


quimica = float(input(nombre + " ¿Cuál es tu nota de química?: "))
biologia = float(input(nombre + " ¿Cuál es tu nota de biología?: "))

promedio = (matematica + quimica + biologia) / 3

if promedio >= 6:
print ("Felicidades " + nombre + " aprobaste con un promedio de: ", promedio)
print ("Felicidades " + nombre + " aprobaste con un promedio de: ",
round(promedio,2))

else:
print ("Lo sentimos " + nombre + " desaprobaste con: ", promedio)
print ("Lo sentimos " + nombre + " desaprobaste con: ", round(promedio,2))

#round es para redondear el número a los decimales que quieres

print("Fin")

RESULTADO:
Sistema para calcular el promedio de un alumno.
Para comenzar, ¿cuál es tu nombre?: cami
cami ¿Cuál es tu nota de matemática?: 2
cami ¿Cuál es tu nota de química?: 5
cami ¿Cuál es tu nota de biología?: 1
Lo sentimos cami has reprobado con un promedio de: 2.6666666666666665
Lo sentimos cami has reprobado con un promedio de: 2.67
Fin

SENTENCIAS CONDICIONALES MÚLTIPLES


● Tienen como finalidad, la toma de decisiones especializadas que permiten evaluar
una variable con distintos resultados, ejecutando para cada caso una serie de
instrucciones específicas
● Nos permite elegir una ruta de entre varias rutas posibles, con base al valor de
una variable que actúa como selector

7
● En el momento en que alguna de las condiciones se cumpla, se ejecuta la
instrucción o instrucciones correspondientes a dicha condición y la ejecución de
la sentencia condicional finalizará
● If [condición lógica] :
[Instrucción]
Elif [condición lógica] :
[Instrucción]
Else:
[Instrucción]

Fal CON Verd

Fal CON Verd INST


INST
INST
F

num_uno=1

if num_uno == 1:
print("El numero es UNO")

elif num_uno == 2:
print("El numero es DOS")

else:
print("El numero se desconoce")

print("Fin")

RESULTADO:
El numero es UNO
Fin

num_uno=2

if num_uno == 1:
print("El numero es UNO")

elif num_uno == 2:
print("El numero es DOS")

else:
print("El numero se desconoce")

print("Fin")

RESULTADO:
El numero es DOS

8
Fin

num_uno=3

if num_uno == 1:
print("El numero es UNO")

elif num_uno == 2:
print("El numero es DOS")

else:
print("El numero se desconoce")

print("Fin")

RESULTADO:
El numero se desconoce
Fin

print("¡Convertidor de números a letras!")

num_uno = int(input("¿Cuál es el número que deseas convertir?"))

if num_uno == 1:
print("El numero es UNO")
elif num_uno == 2:
print("El numero es DOS")
elif num_uno == 3:
print("El numero es TRES")
elif num_uno == 4:
print("El numero es CUATRO")
elif num_uno == 5:
print("El numero es CINCO")
else:
print("Este programa solo puede convertir hasta el número 5")

print("Fin.")

RESULTADO:
¡Convertidor de números a letras!
¿Cuál es el número que deseas convertir?3
El numero es TRES
Fin.

SENTENCIAS CONDICIONALES ANIDADAS


● Se presentan cuando por el camino de verdadero o falso de una sentencia
condicional hay otra sentencia condicional
● Es decir, cuando trabajamos con sentencias condicionales simples, compuestas o
múltiples, podemos colocar dentro de la instrucción o instrucciones a ejecutar
de cada una de estas sentencias, otra sentencia condicional.

9
● Consisten en tener una instrucción condicional dentro de otra, y dependiendo de
si la condición de la primera sentencia condicional se cumple o no se cumple, se
ejecutará otra sentencia condicional.
● De esta manera, tendremos una condición dentro de otra condición, ampliando la
cantidad de opciones para que nuestros programas puedan resolver un problema,
sin importar la cantidad de situaciones que se presenten.

print("Conversor")
print("Menú de opciones: ")
print("Presiona 1 para convertir de número a palabra.")
print("Presiona 2 para convertir de palabra a número.")

opcion = int(input("¿Cuál es tu opción deseada?"))

if opcion == 1:
print("Conversor de número a palabra")

opcion_uno = int(input("¿Cuál es el numero que deseas convertir a palabra?: "))


if opcion_uno == 1:
print("El numero es UNO")
elif opcion_uno == 2:
print("El número es DOS")
elif opcion_uno == 3:
print("El número es TRES")
elif opcion_uno == 4:
print("El número es CUATRO")
elif opcion_uno == 5:
print("El número es CINCO")
else:
print("El número seleccionado no está registrado")

elif opcion == 2:
print("Conversor de palabra a número")

opcion_dos = input("¿Cuál es la palabra que deseas convertir a número?: ")


opcion_dos = opcion_dos.lower() #para que transforme en minúscula las palabras
ingresadas.
if opcion_dos == "uno":
print("El numero es 1")
elif opcion_dos == "dos":
print("El número es 2")
elif opcion_dos == "tres":
print("El número es 3")
elif opcion_dos == "cuatro":
print("El número es 4")
elif opcion_dos == "cinco":
print("El número es 5")
else:
print("El número seleccionado no está registrado")

else:
print("Opción no disponible")

print("FIN.")
RESULTADO:

10
Conversor
Menú de opciones:
Presiona 1 para convertir de número a palabra.
Presiona 2 para convertir de palabra a número.
¿Cuál es tu opción deseada?2
Conversor de palabra a número
¿Cuál es la palabra que deseas convertir a número: ?dos
El número es 2
FIN.

------------------------------------------------

Conversor
Menú de opciones:
Presiona 1 para convertir de número a palabra.
Presiona 2 para convertir de palabra a número.
¿Cuál es tu opción deseada?1
Conversor de número a palabra
¿Cuál es el numero que deseas convertir a palabra: 5
El número es CINCO
FIN.
OPERADORES RELACIONALES
● Los operadores relacionales son símbolos que se usan para comparar dos valores,
y generalmente son utilizados en las sentencias condicionales para la toma de
decisiones.
● Al utilizar operadores relacionales dentro de una sentencia condicional, si el
resultado de la comparación es correcto, la expresión o condición es considerada
verdadera (true), y en caso contrario será falsa (false)

OPERADOR NOMBRE EJEMPLO SIGNIFICADO

< Menor que 5 < 4 5 es menor que 4

> Mayor que 7 > 5 7 es mayor que 5

== Igual a 5 == 5 5 es igual a 5

!= No igual a (diferente) 4 != 5 4 es diferente a 5


4 no es igual a 5

<= Menor o igual a 6 <= 6 6 es menor o igual


a 6

>= Mayor o igual a 9 >= 5 9 es mayor o igual


a 5

print("Introduce dos numeros a comparar: ")

num_uno = int(input("Introduce el primer numero: "))


num_dos = int(input("Introduce el segundo número: "))

print("Los números a comparar son: ", num_uno, "y", num_dos)

11
if num_uno == num_dos:
print("Es igual...")
if num_uno != num_dos:
print("Es diferente...")
if num_uno < num_dos:
print("Es menor...")
if num_uno > num_dos:
print("Es mayor...")
if num_uno <= num_dos:
print("Es menor o igual...")
if num_uno >= num_dos:
print("Es mayor o igual...")

RESULTADO:
Introduce dos numeros a comparar:
Introduce el primer numero: 15
Introduce el segundo número: 2
Los números a comparar son: 15 y 2
Es diferente...
Es mayor...
Es mayor o igual...

OPERADORES LÓGICOS
● En ocasiones, es necesario utilizar más de dos condiciones lógicas dentro de una
misma condición, con lo cual, nos vemos en la necesidad de implementar múltiples
operadores relacionales para crear una expresión lógica mucho más compleja
● Sin embargo, no es posible colocar dos condiciones lógicas dentro de una misma
condición, sin el apoyo de algún elemento que les indique a nuestros programas,
que se realizará la unión de dos o más condiciones lógicas dentro de una misma
expresión.
● Para este tipo de situaciones existen los operadores lógicos, los cuales,
permiten agrupar condiciones lógicas dentro de una misma condición. Es decir,
con los operadores lógicos tenemos la posibilidad de utilizar múltiples
operadores relaciones dentro de una misma condición lógica.

OPERADOR LÓGICO SÍMBOLO

CONJUNCIÓN AND

DISYUNCIÓN OR

NEGACIÓN NOT

AND
(num_uno = 5)
if num_uno == 5 ¿Cómo hago para if num_uno == 5 and if num_dos >= 5:
unir estas dos print(“Ambas condiciones se han
(num_uno = 5) → condiciones
unido”)
if num_dos >= 5 lógicas en una
sola expresión?

12
(num_uno = 5)
if num_uno == 5 if num_uno == 5 and if num_dos >= 5:
¿Cómo hago para print(“Ambas condiciones se han
(num_uno = 2) → unir estas dos
unido”)
if num_dos >= 5 condiciones
lógicas en una else:
sola expresión? print(“Una o ambas condiciones no
se han cumplido”)

OR
(num_uno = 5)
if num_uno == 5 Cumple una o if num_uno == 5 or if num_dos >= 5:
ambas condiciones print(“Ambas condiciones se han
(num_uno = 2) →
unido”)
if num_dos >= 5

(num_uno = 8)
if num_uno == 5 No cumple ninguna if num_uno == 5 or if num_dos >= 5:
de las dos print(“Ambas condiciones se han
(num_uno = 2) → condiciones
unido”)
if num_dos >= 5 else:
print(“No cumple ninguna de las
dos condiciones”)

#and

print("Conjuncion (and)")

num_uno = int(input("Escribe un numero mayor a 2 y menor a 5: "))

if num_uno > 2 and num_uno < 5:


print("El numero ", num_uno, " cumple con la condición")
else:
print("El numero ", num_uno, "NO cumple con la condicion")

#or
print("Disyunción (or)")

palabra = input("Para cumplir con la condicion escribe 'si' o 'yes':")

if palabra == "si" or palabra == "yes":


print("La condicion se ha cumplido")
else:
print("La condicion NO se ha cumplido")

13
RESULTADO:
Conjuncion (and)
Escribe un numero mayor a 2 y menor a 5: 3
El numero 3 cumple con la condición

Disyunción (or)
Para cumplir con la condicion escribe 'si' o 'yes':si
La condicion se ha cumplido

EJERCICIOS PRÁCTICOS:

La compañía multinacional Rappi, solicita un sistema que determine los días de


vacaciones a los que tiene derecho un trabajador, tomando en cuenta las siguientes
características:
Existen tres departamentos dentro de la compañía con sus respectivas claves:
1. Departamento de atención al cliente (clave 1)
2. Departamento de logística (clave 2)
3. Gerencia (clave 3)

Trabajadores con clave 1 (Atención al cliente):


● Con 1 año de servicio, reciben 6 días de vacaciones
● Con 2 a 6 años de servicio, reciben 14 días de vacaciones
● A partir de 7 años de servicio, reciben 20 días de vacaciones

Trabajadores con clave 2 (Logística):


● Con 1 año de servicio, reciben 7 días de vacaciones
● Con 2 a 6 años de servicio, reciben 15 días de vacaciones
● A partir de 7 años de servicio, reciben 22 días de vacaciones

Trabajadores con clave 2 (Logística):


● Con 1 año de servicio, reciben 10 días de vacaciones
● Con 2 a 6 años de servicio, reciben 20 días de vacaciones
● A partir de 7 años de servicio, reciben 30 días de vacaciones

El sistema debe solicitar el “Nombre”, “Clave del departamento” y “Antigüedad” del


trabajador desde el teclado
Posteriormente el programa debe mostrar un mensaje en pantalla, que contenga el
nombre del trabajador y los dias de vacaciones a los que tiene derecho

print("Sistema de control vacacional de Rappi")

nombre_empleado = input("Por favor introduce el nombre del empleado: ")


clave_departamento = int(input("Por favor introduce la clave del departamento: "))
antiguedad_empleado = float(input("Por favor introduce la cantidad de años
laborales"))

if clave_departamento == 1:
if antiguedad_empleado == 1 and antiguedad_empleado < 2:
print("El empleado ", nombre_empleado, "tiene derecho a 6 dias de
vacaciones")
elif antiguedad_empleado >= 2 and antiguedad_empleado <= 6:

14
print("El empleado ", nombre_empleado, "tiene derecho a 14 dias de
vacaciones")
elif antiguedad_empleado >= 7:
print("El empleado ", nombre_empleado, "tiene derecho a 20 dias de
vacaciones")
else:
print("El empleado ", nombre_empleado, "aun no tiene derecho a vacaciones")

elif clave_departamento == 2:
if antiguedad_empleado == 1 and antiguedad_empleado < 2:
print("El empleado ", nombre_empleado, "tiene derecho a 7 dias de
vacaciones")
elif antiguedad_empleado >= 2 and antiguedad_empleado <= 6:
print("El empleado ", nombre_empleado, "tiene derecho a 15 dias de
vacaciones")
elif antiguedad_empleado >= 7:
print("El empleado ", nombre_empleado, "tiene derecho a 22 dias de
vacaciones")
else:
print("El empleado ", nombre_empleado, "aun no tiene derecho a vacaciones")

elif clave_departamento == 3:
if antiguedad_empleado == 1 and antiguedad_empleado < 2:
print("El empleado ", nombre_empleado, "tiene derecho a 10 dias de
vacaciones")
elif antiguedad_empleado >= 2 and antiguedad_empleado <= 6:
print("El empleado ", nombre_empleado, "tiene derecho a 20 dias de
vacaciones")
elif antiguedad_empleado >= 7:
print("El empleado ", nombre_empleado, "tiene derecho a 30 dias de
vacaciones")
else:
print("El empleado ", nombre_empleado, "aun no tiene derecho a vacaciones")

else:
print("La clave del departamento no existe, vuelve a intentarlo")

RESPUESTA:
Sistema de control vacacional de Rappi
Por favor introduce el nombre del empleado: Cami
Por favor introduce la clave del departamento: 3
Por favor introduce la cantidad de años laborales 2.5
El empleado Cami tiene derecho a 20 dias de vacaciones

NÚMERO PAR → es un número entero que es divisible entre dos. Es decir, que al momento
de que un número entero sea dividido entre dos, el módulo o resto, sea igual a cero.

NÚMERO IMPAR → es un número entero que no es divisible entre dos. Es decir, que al
momento de que un número entero sea dividido entre dos, el módulo o resto sea igual a
uno.

Desarrollar un programa que solicite un número entero desde teclado al usuario,


posteriormente, el programa deberá determinar e indicar a través de un mensaje, si el
número introducido es par o impar.

15
El mensaje en pantalla deberá mostrar la frase el número es par o impar, junto con el
número que el usuario introdujo desde el teclado, por ejemplo:
● “El número 8 es par”
● “El número 5 es impar

print("Programa que determina si un numero es par o impar")

numero = int(input("Por favor introduce un numero entero: "))

if numero % 2 == 0:
print("El numero ", numero, " es par")

elif numero % 2 == 1:
print("El numero ", numero, " es impar")

RESULTADO:
Programa que determina si un número es par o impar
Por favor introduce un número entero: 250
El número 250 es par

Programa que determina si un número es par o impar


Por favor introduce un número entero: 365
El número 250 es impar

Desarrollar un programa que solicite tres números enteros desde teclado al usuario,
posteriormente, el programa deberá determinar e indicar a través de un mensaje en
pantalla, cuál de los tres números es el más grande.
El mensaje en pantalla deberá mostrar el número que resultó ser el mas grande de los
tres, por ejemplo:
● “El número 10 es el mas grande de los tres”

print("Programa para determinar cual es el número más grande de los tres")

num_uno = int(input("Ingrese el primer numero: "))


num_dos = int(input("Ingrese el segundo numero: "))
num_tres = int(input("Ingrese el tercer numero: "))

if num_uno > num_dos and num_uno > num_tres:


print("El numero ", num_uno, " es el número más grande de los tres")
else:
if num_dos > num_tres:
print("El numero ", num_dos, " es el número más grande de los tres")
else:
print("El numero ", num_tres, " es el número más grande de los tres")

RESULTADO:
Programa para determinar cual es el número más grande de los tres
Ingrese el primer numero: 1
Ingrese el segundo numero: 2
Ingrese el tercer numero: 3
El numero 3 es el número más grande de los tres

16
OPERADORES DE ASIGNACIÓN
NOMBRE OPERADOR IMPLEMENTACIÓN EXPRESIÓN
EQUIVALENTE

Asignación = X = Y X = Y

Asignación de suma += X += Y X = X + Y

Asignación de resta -= X -= Y X = X - Y

Asignación de *= X *= Y X = X * Y
multiplicación

Asignación de /= X /= Y X = X / Y
división

Asignación de //= X //= Y X = X // Y


división entera

Asignación de **= X **= Y X = X ** Y


exponente

Asignación de módulo %= X %= Y X = X % Y
o resta

BUCLE O CICLO WHILE


● En ocasiones cuando estamos desarrollando un programa, nos encontramos con la
necesidad de ejecutar una o más líneas de código en repetidas ocasiones, con lo
cual la opción más lógica es duplicar el código de estas instrucciones para que
el programa realice la tarea asignada.
● Sin embargo, esta alternativa no es la más óptima ya que al duplicar código
puede generar diversos problemas como, por ejemplo, archivos innecesariamente
más extensos y difíciles de comprender al momento de querer realizar alguna
modificación o actualización del mismo.
● Ante esta situación, en programación contamos con sentencias de repetición de
código, las cuales nos permiten ejecutar una serie de instrucciones o líneas de
código de manera controlada dentro de nuestros programas, a las cuales se les
conoce como ciclos o bucles.
● Un ciclo o bucle permite ejecutar en repetidas ocasiones las instrucciones o
líneas de código indicadas por el programador, con lo cual, no existe la
necesidad de duplicar líneas de código para ejecutarlas en más de una ocasión.
● El bucle while permite repetir la ejecución de un grupo de instrucciones,
mientras se cumpla una condición, es decir, mientras la condición del ciclo o
bucle se cumpla las instrucciones se seguirán ejecutando

IN

NO S
CON
INST INST

FI

17
while [condición]:
[instrucción]

X = 1
while X < 4:
print(X)
X+=1
print("Fin")

RESULTADO:
1
2
3
Fin

Lo que hace esta instrucción es ir sumando 1, y como la condición es que sea < 4,
cuando no lo cumple, es decir es > 4, finaliza el programa.

X = 1
while X < 11:
print("Cami")
X+=1
print("Fin")

RESULTADO:
Cami
Cami
Cami
Cami
Cami
Cami
Cami
Cami
Cami
Cami
Fin

SENTENCIAS BREAK
● La sentencia break se utiliza para detener la ejecución de una iteración y salir
de ella, con lo cual, el programa podrá continuar con la ejecución del código
que se encuentre fuera de nuestro bucle.

IN

NO CON S

CON S
B
INST NO
FI

18
#ejemplo para break
print("while con la sentencia break")
contador = 0
while contador < 10:
contador += 1

if contador == 5:
break
print("Valor actual de la variable: ", contador)
print("Fin del programa, la sentencia break se ha ejecutado.")

RESULTADO:
while con la sentencia break
Valor actual de la variable: 1
Valor actual de la variable: 2
Valor actual de la variable: 3
Valor actual de la variable: 4
Fin del programa, la sentencia break se ha ejecutado.

SENTENCIAS CONTINUE
● Permite detener la iteración actual y volver al principio del bucle para
realizar una nueva iteración, si es que la condición que rige a nuestro bucle se
sigue cumpliendo (una iteración es la repetición de un segmento de código dentro
de un programa)

IN

NO CON S

CON S
CO
INST NO
FI

#ejemplo para continue


print("while con la sentencia continue")
contador = 0
while contador < 10:
contador += 1

if contador == 5:
continue
print("Valor actual de la variable: ", contador)

RESULTADO:
while con la sentencia continue
Valor actual de la variable: 1
Valor actual de la variable: 2
Valor actual de la variable: 3
Valor actual de la variable: 4
Valor actual de la variable: 6
Valor actual de la variable: 7
Valor actual de la variable: 8

19
Valor actual de la variable: 9
Valor actual de la variable: 10

Lo que hace el programa es que cuando llega al 5 se lo saltea.

LA FUNCIÓN LEN()
● La función len() nos permite obtener la longitud de una cadena de caracteres, o
bien, el número de elementos que componen a un objeto
● Siempre se arranca a contar desde el número 0

len(“ H o l a ”)
0 1 2 3 4

len(“ H o l a C a m i ”)
0 1 2 3 4 5 6 7 8 8

El espacio cuenta como un caracter más

#opcion 1
print("Hola tiene", len("Hola"), ("caracteres."))

#opcion 2
longitud = len("La Argentina")
print("La Argentina tiene", longitud, "caracteres.")

RESULTADO:
Hola tiene 4 caracteres.
La Argentina tiene 12 caracteres.

CICLO O BUCLE FOR


● Es una estructura de control que nos permite repetir un bloque de instrucciones
(sentencias), cierta cantidad de veces

for [variable] in [objeto_iterable] :


[Instrucción]
[Instrucción]
[Instrucción]

● Un objeto iterable, es aquel que permite recorrer sus elementos uno a uno. Como
por ejemplo, una cadena de caracteres. Ejemplo la oración “Hola Cami” → puedo
recorrer caracter por caracter

string = "Hola"
for character in string:
print(character)
print("Fin del programa.")

RESULTADO:
H

20
o
l
a
Fin del programa.

LA CLASE RANGE
● Genera secuencias de números inmutables, es decir, que no se pueden modificar,
estas secuencias se generan a partir de un rango previamente establecido
● Generalmente se utiliza como objeto iterable dentro de la sintaxis del ciclo o
bucle for, con el cual se logran realizar las respectivas iteraciones
● Nos permite trabajar con un mínimo de un argumento y un máximo de tres
argumentos de manera simultánea. Así, podremos decidir el número con el que
comenzara y terminara la secuencia de números, y a su vez, indicar el incremento
o decremento entre un número y el siguiente
● range(start, stop, step)
○ start: es un valor entero, que indica el número a partir del cual se
comenzará a generar la secuencia de números, y este número siempre formará
parte de la secuencia.
○ stop: es un valor entero, que indica el número hasta el cual se va a
generar la secuencia de números, y este número jamás formará parte de la
secuencia. Ejemplo, si es 10, va a ir del 0 al 9.
○ step: es un valor entero, que indica el incremento o decremento de la
sucesión numérica entre un número y el siguiente

range(5,11) → 5, 6, 7, 8, 9, 10
range(0, 6) → 0, 1, 2, 3, 4, 5
range(0, 11, 2) → 0, 2, 4, 6, 8, 10
range(0, 11, 3) → 0, 3, 6, 9
range(10, 0) → imposible. no retorna nada. como el incremento es de 1, nunca va a
llegar al 0.
range(10, 0, -1) → 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

● for [variable] in range (start, stop, step):


[Instrucción]
[Instrucción]
[Instrucción]

for indice in range (1,5):


print(indice)
print("Fin del programa")

RESULTADO:
1
2
3
4
Fin del programa

21
Desarrollar un programa que muestre en pantalla, la tabla de multiplicar de un número
cualquiera, este numero debera ser solicitado e ingresado desde teclado por el
usuario
● Utilizar el ciclo o bucle for
● La tabla debe contener las multiplicaciones que van desde el 0 hasta el 10

num = int(input("¿Qué tabla de multiplicar quieres ver?"))


print(f"La tabla del {num} es:")
for i in range(11):
print(f"{num} x {i} = {num * i}")

RESULTADO:
¿Qué tabla de multiplicar quieres ver?8
La tabla del 8 es:
8 x 0 = 0
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
8 x 10 = 80

LISTAS
● Las estructuras de datos son aquellas que nos permiten organizar la información
de manera eficiente, y así, diseñar alternativas de solución para un determinado
problema
● Una de las estructuras de datos más sencillas que existe son las listas
● Las listas, se utilizan para almacenar conjuntos de información, de esta manera,
crear una colección de elementos ordenados, y a su vez, estos elementos pueden o
no estar relacionados entre sí, es decir, una lista puede ser homogénea o
heterogénea.
● Listas homogéneas:
○ Todos los elementos que conforman a la lista, son del mismo tipo de dato
○ lista_homogenea = ["Ari", "Cami", "Manu"]
● Listas heterogéneas:
○ Todos los elementos que conforman a la lista, son de diferentes tipo de
dato
○ lista_heterogenea = ["nombre", 20, 1.70, True]
● Además, las listas tienen la característica de ser mutable, es decir, que su
contenido se puede modificar después de haber sido creadas
● lista = []

print("Lista homogénea")

vocales = ["a", "e", "i", "o", "u"]


print(vocales)

numeros_enteros = [1,2,3,4,5]

22
print(numeros_enteros)

numeros_decimales = [1.5,2.5,3.3,4.9]
print(numeros_decimales)

valores_boleanos = [True, False, False, True]


print(valores_boleanos)

RESULTADO:
Lista homogénea
['a', 'e', 'i', 'o', 'u']
[1, 2, 3, 4, 5]
[1.5, 2.5, 3.3, 4.9]
[True, False, False, True]

print("Listas heterogeneas")

datos = ["Ari", 20, 1.76, True]


print(datos)
RESULTADO:
Listas heterogéneas
['Ari', 20, 1.76, True]

● Cuando trabajamos con listas, surge la necesidad de acceder a los elementos


contenidos dentro de la misma, ya que de esta manera podemos consultar e incluso
modificar su contenido
● Para acceder a los elementos de una lista, es necesario apoyarnos de los
índices, los cuales, le indicarán a nuestro programa la posición exacta del
elemento con el cual deseamos trabajar de la lista.

marcas = ["Apple", "Samsung", "Lenovo", "HP"]


len(marcas)

Para acceder a la posición de una lista:


marcas[1] → Samsung
marcas[3] → Lenovo
marcas[-1] → HP (va de atrás para adelante)

marcas[1:3] → Samsung, Lenovo

print ("Accediendo a las posiciones de una lista")


marcas = ["Apple", "Samsung", "Lenovo", "HP"]

print("Lista completa:",marcas)

print ("Cuantos elementos tiene la lista?:", len(marcas))

print("Marca 1:",marcas[1])

print("Marca 3:",marcas[3])

23
print("Marca -1:",marcas[-1])

print("Marca -3:",marcas[-3])

print("Marca 1 a 3:",marcas[1:3])

print("Marca 2:",marcas[:2])

print("Marca 1:",marcas[1:])

print("Marca:",marcas[:])

RESULTADO:
Accediendo a las posiciones de una lista
Lista completa: ['Apple', 'Samsung', 'Lenovo', 'HP']
Cuantos elementos tiene la lista?: 4
Marca 1: Samsung
Marca 3: HP
Marca -1: HP
Marca -3: Samsung
Marca 1 a 3: ['Samsung', 'Lenovo']
Marca 2: ['Apple', 'Samsung']
Marca 1: ['Samsung', 'Lenovo', 'HP']
Marca: ['Apple', 'Samsung', 'Lenovo', 'HP']

MODIFICAR ELEMENTOS DE UNA LISTA


● Una de las grandes ventajas al trabajar con listas, es que podemos modificar
cada uno de sus elementos, de acuerdo a nuestras necesidades
● La sintaxis para modificar los elementos de una lista es la siguiente:
○ vocales = [“a”, “e”, “i”, “o”, “u”]
vocales[1] = x
quedaría de la siguiente manera: vocales = [“a”, “x”, “i”, “o”, “u”]
○ vocales = [“a”, “e”, “i”, “o”, “u”]
vocales[2:4] = [“x”, “y”]
quedaría de la siguiente manera: vocales = [“a”, “e”, “x”, “y”, “u”]

AGREGAR ELEMENTOS A LA LISTA


● Al trabajar con listas, se llega a la necesidad de agregar nuevos elementos a
las mismas, para así, ampliar la cantidad de información con la que estamos
trabajando.
● Para esta situación, contamos con el método append(), el cual nos permite
agregar nuevos elementos al final de una lista
● nombre_lista.append(nuevo_elemento)

INSERTAR ELEMENTOS A UNA LISTA


● Es posible insertar elementos dentro de una lista, en una posición determinada.
Con lo cual, podremos establecer el orden y organización de todos los elementos
que conformen nuestras listas
● Para esta situación, contamos con el método insert(), que a diferencia del
método append(), nos permite indicar la posición exacta dentro de la lista,
donde queremos agregar el nuevo elemento

24
● La sintaxis para utilizar el método insert(), es la siguiente:
○ nombre_lista.insert(posición, nuevo_elemento)
○ letras = [“b”, “d”, “f”, “g”]
letras.insert(0, “a”)
quedaría de la siguiente manera: letras = [“a”, “b”, “d”, “f”, “g”]
○ letras = [“a”, “b”, “d”, “f”, “g”]
letras.insert(2, “c”)
quedaría de la siguiente manera: letras = [“a”, “b”, “c”, “d”, “f”, “g”]
○ letras = [“a”, “b”, “c”, “d”, “f”, “g”]
letras.insert(4, “e”)
quedaría de la siguiente manera: letras = [“a”, “b”, “c”, “d”, “e”, “f”, “g”]

ELIMINAR UNA LISTA - LA INSTRUCCIÓN DEL


● Al trabajar con listas, además de poder eliminar uno o varios elementos de una
lista, es posible eliminar toda una lista
● Para lograrlo, contamos con la instrucción del, la cual, nos permite eliminar
toda una lista, y a su vez, nos permite eliminar un único elemento indicando la
posición exacta del elemento.
● O bien, eliminar dos o más elementos de manera simultánea, indicando el rango de
las posiciones que ocupan los elementos a eliminar
● La sintaxis para utilizar la instrucción del, es la siguiente:
○ del nombre_lista → para eliminar la lista entera
○ del nombre_lista[posicion] → para eliminar un único elemento
○ del nombre_lista[posicion:posicion] → para eliminar 2 o más elementos
● Ejemplos:
○ vocales = [“a”, “e”, “i”, “o”, “u”]
del vocales [3]
quedaría de la siguiente manera: vocales = [“a”, “e”, “i”, “u”]
○ vocales = [“a”, “e”, “i”, “o”, “u”]
del vocales [0:2]
quedaría de la siguiente manera: vocales = [“i”, “o”, “u”]
○ vocales = [“a”, “e”, “i”, “o”, “u”]
del vocales [:]
quedaría de la siguiente manera: vocales = [] → elimina el contenido
○ vocales = [“a”, “e”, “i”, “o”, “u”]
del vocales
quedaría de la siguiente manera: elimina la lista completa

LISTAS ANIDADAS
● Las listas anidadas, son listas dentro de otras listas
→ lista = [1, “a”, True, [1,2,3]]
lista[3][1] → accede primero a la posición 3 y después a la 1
Te muestra el → 2
→ lista = [1, “a”, True, [1,2,[“f”, “g”, “h”]]]
lista[3][2][0] → accede primero a la posición 3, después a la 2 y después a la 0
Te muestra la → f

EJERCICIOS TIPO FINAL:

25
Leer los números de legajo de los alumnos de un curso y su nota de examen final.
El fin de la carga se determina ingresando un -1 como legajo.
Se debe validar que la nota ingresada esté entre 1 y 10. Terminada la lectura de
datos, informar:
• Cantidad de alumnos que aprobaron con nota mayor o igual a 4
• Cantidad de alumnos que desaprobaron el examen. Nota menor a 4
• Promedio de nota y los legajos que superan el promedio
Luego se solicita mostrar un listado de legajos y calificaciones ordenado de manera
ascendente según el número de legajo.
Resolver de dos formas: Utilizando dos listas paralelas y utilizando una matriz de
dos filas.

legajo = 0
nota = 0
alumnos = []

while legajo != -1:


legajo = int(input("Ingrese su número de legajo (-1 para terminar): "))
if legajo == -1:
break

nota = int(input("Ingrese su nota de examen final: "))


while nota < 1 or nota > 10:
nota = int(input("Nota fuera de rango, por favor vuelva a ingresarla: "))
alumnos.append((legajo, nota))

cant_aprobados = 0
cant_desaprobados= 0
total_notas = 0

for legajo, nota in alumnos:


if nota >= 4:
cant_aprobados += 1
else:
cant_desaprobados += 1
total_notas += nota

if len(alumnos) > 0:
promedio = total_notas / len(alumnos)
else:
promedio = 0

legajos_arriba_promedio = []
for legajo, nota in alumnos:
if nota > promedio:
legajos_arriba_promedio.append(legajo)

print("Cantidad de alumnos que aprobaron:", cant_aprobados)


print("Cantidad de alumnos que desaprobaron:", cant_desaprobados)
print("Promedio de nota:", promedio)
print("Legajos con nota mayor al promedio:", legajos_arriba_promedio)

RESULTADOS:
Ingrese su número de legajo (-1 para terminar): 1161066
Ingrese su nota de examen final: 6
Ingrese su número de legajo (-1 para terminar): 1161098

26
Ingrese su nota de examen final: 4
Ingrese su número de legajo (-1 para terminar): 1161027
Ingrese su nota de examen final: 5
Ingrese su número de legajo (-1 para terminar): 1161926
Ingrese su nota de examen final: 10
Ingrese su número de legajo (-1 para terminar): 1161034
Ingrese su nota de examen final: 9
Ingrese su número de legajo (-1 para terminar): -1
Cantidad de alumnos que aprobaron: 5
Cantidad de alumnos que desaprobaron: 0
Promedio de nota: 6.8
Legajos con nota mayor al promedio: [1161926, 1161034]

Hora de jugar: Desarrollar un programa que genere un número entero al azar de cuatro
cifras y le proponga al usuario que lo descubra, ingresando valores repetidamente
hasta hallarlo. En cada intento el programa mostrará mensajes indicando si el número
ingresado es mayor o menor que el valor secreto.
Permitir que el usuario abandone la partida al ingresar -1. Al terminar el juego
informar la cantidad de intentos realizada, haciendo que el usuario ingrese su número
de documento si mejoró la mejor marca de intentos obtenida hasta el momento.
Luego mostrar la lista ordenada de los 5 mejores puntajes (indicando también a quién
pertenecen) y preguntar si se desea jugar otra vez, reiniciando el juego en caso
afirmativo.

27
import random

best_score = float('inf') # Mejor marca de intentos inicializada en infinito


best_scores = [] # Lista para almacenar los mejores puntajes

while True:
secret_number = random.randint(1000, 9999) # Generar número secreto de cuatro
cifras
print("Adivina el número secreto de cuatro cifras!")

attempts = 0
while True:
guess = int(input("Ingresa tu intento (-1 para abandonar): "))
if guess == -1:
break

attempts += 1

if guess == secret_number:
print("¡Felicitaciones! ¡Adivinaste el número en", attempts, "intentos!")
if attempts < best_score:
document_number = input("Ingresa tu número de documento: ")
best_score = attempts
best_scores.append((attempts, document_number))
break
elif guess < secret_number:
print("El número ingresado es mayor.")
else:
print("El número ingresado es menor.") # Mostrar que el número es menor

best_scores.sort() # Ordenar la lista de mejores puntajes

print("Mejores puntajes:")
for score, document in best_scores[:5]:
print("Intentos:", score, "- Documento:", document)

play_again = input("¿Quieres jugar otra vez? (s/n): ")


if play_again.lower() != 's':
print("¡Gracias por jugar!")
break

Leer números que representan edades de un grupo de personas, finalizando la lectura


cuando se ingrese el número -1. Imprimir cuántos son menores de 18 años, cuántos
tienen 18 años o más y el promedio de edad de ambos grupos. Descartar valores que no
representan una edad válida. (Se considera válida una edad entre 0 y 100).

menores_de_18 = 0
mayores_de_18 = 0
suma_menores_de_18 = 0
suma_mayores_de_18 = 0

edad = int( input("Ingrese la edad") )

28
while edad != -1:
if edad >= 0 and edad <= 100:

if ( edad >= 18):


mayores_de_18 += 1
suma_mayores_de_18 += edad

else:
menores_de_18 += 1
suma_menores_de_18 += edad
else:
print("la edad es invalida, por favor ingrese otra entre 0 y 100: ")

edad = int( input("Ingrese otra edad") )

print("Los menores de 18 son: ", menores_de_18)


print("Los mayores de 18 son: ", mayores_de_18)

if mayores_de_18 > 0:
promedio_mayores = suma_mayores_de_18 / mayores_de_18
print("El promedio de edad de los mayores es de: ", promedio_mayores)

if menores_de_18 > 0:
promedio_menores = suma_menores_de_18 / menores_de_18
print("El promedio de edad de los menores es de: ", promedio_menores)

RESULTADO:
Ingrese la edad12
Ingrese otra edad32
Ingrese otra edad45
Ingrese otra edad76
Ingrese otra edad202
la edad es invalida, por favor ingrese otra entre 0 y 100:
Ingrese otra edad102
la edad es invalida, por favor ingrese otra entre 0 y 100:
Ingrese otra edad32
Ingrese otra edad-1
Los menores de 18 son: 1
Los mayores de 18 son: 4
El promedio de edad de los mayores es de: 46.25
El promedio de edad de los menores es de: 12.0

Leer tres números D, M y A correspondientes al día, mes y año de una fecha, y un


número entero N que representa una cantidad de días. Realizar un programa que imprima
la nueva fecha que resulta de sumar N días a la fecha dada. Tener en cuenta los años
bisiestos tal como se detalla en el ejercicio 7 de la práctica 3.

# Un año bisiesto es divisible por 4, con excepcion de los años que son divisibles
por 100 pero no por 400

def es_bisiesto(year):
return ( ( year % 4 == 0 and year % 100 != 0) or year % 400 == 0 )

#30 dias= 4, 6, 9, 11

29
#31 dias= 1, 3, 5, 7, 8, 10, 12

def get_dias_del_mes (month, year):


if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month ==
10 or month == 12:
return 31
elif mes == 2:
if es_bisiesto(year):
return 29
else:
return 28
else:
return 30

dia = int(input("Ingrese un dia: "))

mes = int(input("Ingrese un mes: "))

anio = int(input("Ingrese un año: "))

cant_dias_sumar = int(input("Ingrese la cantidad de días a sumar: "))

#D=25, M=8, A=2023 + 58

while cant_dias_sumar > 0:


cant_dias_mes = get_dias_del_mes(mes, anio)
#print("La cantidad de días del mes ", mes, "es: ", cant_dias)

if cant_dias_sumar >= cant_dias_mes - dia + 1:


cant_dias_sumar -= cant_dias_mes - dia + 1
dia = 1
mes += 1

if mes > 12:


mes = 1
anio += 1
else:
dia += cant_dias_sumar
cant_dias_sumar = 0

print("El nuevo día es: ", dia, "/", mes, "/", anio)

RESULTADO:
Ingrese un dia: 7
Ingrese un mes: 3
Ingrese un año: 2000
Ingrese la cantidad de días a sumar: 32
El nuevo día es: 8 / 4 / 2000

Leer un número entero y mostrar un mensaje informando cuántos dígitos contiene.


Tener en cuenta que el número puede ser negativo. Ejemplo: Si se ingresa
12345 se debe imprimir 5.

numero = int(input("Ingrese un numero entero"))

30
longitud = len( str( abs( numero ) ) )

print("El numero contiene ", longitud, "digitos")

RESULTADO:
Ingrese un numero entero9056
El numero contiene 4 digitos

Leer un número entero e invertir las cifras que contiene. Imprimir por pantalla el
número invertido. Tener en cuenta que el número puede ser negativo. Por ejemplo, si
se ingresa -1234 debe mostrar -4321

#432

numero = int(input("Ingrese un numero entero: "))


numero_absoluto = abs(numero)

numero_invertido = 0

while numero_absoluto > 0:


ultimo_digito = numero_absoluto % 10
numero_invertido = numero_invertido * 10 + ultimo_digito
numero_absoluto //= 10

if numero < 0:
numero_invertido *= -1

print(numero_invertido) #234

notas[0][1]

RESULTADO:
Ingrese un numero entero: 432
234

Una Administradora de Consorcios necesita un sistema para poder gestionar el cobro de


las expensas de un edificio de departamentos de 20 unidades. En dos listas almacena
la siguiente información: Número de unidad y superficie en metros cuadrados. Validar
que no se ingresen números de unidades duplicadas. Cada unidad paga de expensas un
valor fijo por metro cuadrado, el que se ingresa por teclado. Se pide:
• Informar el promedio de expensas del mes.
• Ordenar los listados de mayor a menor según la superficie. Mostrar por pantalla el
listado ordenado informando el número de unidad y la superficie en metros cuadrados.

unidad = []
metros = []
expensas = float(input("Ingrese el valor de las expenas por metros cuadrados: "))

for i in range(20):
numero_unidad=int(input("Ingresá tu número de unidad: "))
while numero_unidad in unidad:
print("El número de unidad ya existe. Por favor ingrese una unidad válida.")
numero_unidad = int(input("Ingresá tu número de unidad: "))

31
superficie=float(input("Ingrese cantidad de metros cuadrados: "))

unidad.append(numero_unidad)
metros.append(superficie)

total_superficie = 0
for superficie in metros:
total_superficie += superficie

promedio_expensas = total_superficie * expensas / len(unidad)


print("Promedio expensas del mes: ", promedio_expensas)

for unidad, metros in lista_ordenada


print("Unidad: ",unidad[1], "Superficie: ",metros[1])
print("Unidad: ",unidad[2], "Superficie: ",metros[2])
print("Unidad: ",unidad[3], "Superficie: ",metros[3])
print("Unidad: ",unidad[4], "Superficie: ",metros[4])
print("Unidad: ",unidad[5], "Superficie: ",metros[5])
print("Unidad: ",unidad[6], "Superficie: ",metros[6])
print("Unidad: ",unidad[7], "Superficie: ",metros[7])
print("Unidad: ",unidad[8], "Superficie: ",metros[8])
print("Unidad: ",unidad[9], "Superficie: ",metros[9])
print("Unidad: ",unidad[10], "Superficie: ",metros[10])
print("Unidad: ",unidad[11], "Superficie: ",metros[11])
print("Unidad: ",unidad[12], "Superficie: ",metros[12])
print("Unidad: ",unidad[13], "Superficie: ",metros[13])
print("Unidad: ",unidad[14], "Superficie: ",metros[14])
print("Unidad: ",unidad[15], "Superficie: ",metros[15])
print("Unidad: ",unidad[16], "Superficie: ",metros[16])
print("Unidad: ",unidad[17], "Superficie: ",metros[17])
print("Unidad: ",unidad[18], "Superficie: ",metros[18])
print("Unidad: ",unidad[19], "Superficie: ",metros[19])
print("Unidad: ",unidad[20], "Superficie: ",metros[20])

32

También podría gustarte