Final Programación
Final Programación
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.
mensaje = “Hola”
mensaje += “ ”
mensaje += “Cami”
print(mensaje)
RESULTADO:
Hola Cami
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”””
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
RESULTADO:
15 <class 'int'>
15.5 <class 'float'>
Ernesto <class 'str'>
True <class 'bool'>
EJEMPLO → si especifico el tipo de dato, ejemplo int o float, e introduzco otro tipo
de dato diferente, me va a dar error.
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
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
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.
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
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.
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))
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
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]
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
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.
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.")
if opcion == 1:
print("Conversor de número a palabra")
elif opcion == 2:
print("Conversor de palabra a número")
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)
== Igual a 5 == 5 5 es igual a 5
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.
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)")
#or
print("Disyunción (or)")
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:
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.
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
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
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”
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 módulo %= X %= Y X = X % Y
o resta
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
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
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
#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.
● 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
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
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")
numeros_enteros = [1,2,3,4,5]
22
print(numeros_enteros)
numeros_decimales = [1.5,2.5,3.3,4.9]
print(numeros_decimales)
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")
print("Lista completa:",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']
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”]
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
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 = []
cant_aprobados = 0
cant_desaprobados= 0
total_notas = 0
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)
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
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
print("Mejores puntajes:")
for score, document in best_scores[:5]:
print("Intentos:", score, "- Documento:", document)
menores_de_18 = 0
mayores_de_18 = 0
suma_menores_de_18 = 0
suma_mayores_de_18 = 0
28
while edad != -1:
if edad >= 0 and edad <= 100:
else:
menores_de_18 += 1
suma_menores_de_18 += edad
else:
print("la edad es invalida, por favor ingrese otra entre 0 y 100: ")
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
# 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
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
30
longitud = len( str( abs( numero ) ) )
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_invertido = 0
if numero < 0:
numero_invertido *= -1
print(numero_invertido) #234
notas[0][1]
RESULTADO:
Ingrese un numero entero: 432
234
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
32