-
Notifications
You must be signed in to change notification settings - Fork 0
/
Básicos
139 lines (110 loc) · 4.65 KB
/
Básicos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
def calcular_definitivas(estudiantes: list)->list:
""" Aproximación de Notas
Parámetros:
estudiantes (list): Una lista de diccionarios que representan a los estudiantes que han finalizado el
curso, con su nota final sin aproximar. Cada diccionario tiene las siguientes
llaves: "nombre": (str) el nombre del estudiante. "nota": (float), un float que
representa la nota sin aproximar del estudiante.
Retorno:
list: La función retorna una lista de diccionarios, con tantos diccionarios como estudiantes había en la
lista inicial, pero con sus notas aproximadas. El orden de los diccionarios debe ser el mismo de la
lista de entrada. Cada uno de los diccionarios retornados debe tener las llaves: "nombre" (str) y
"nota" (float).
"""
for estudiante in estudiantes:
nota = estudiante["nota"]
if nota >= 4.5:
estudiante["nota"] = 5.0
elif 3.5 <= nota < 4.5:
estudiante["nota"] = 4.0
elif 2.5 <= nota < 3.5:
estudiante["nota"] = 3.0
else:
estudiante["nota"] = 1.5
return estudiantes
#print(estudiantes)
def buscar_elemento(entrada: list, buscado: int)->int:
""" Buscar un elemento en una lista
Parámetros:
entrada (list): Lista en la que se debe buscar el número
buscado (int): Número entero a buscar
Retorno:
int: Número que indica el índice en que se encuentra el elemento buscado. Si no está, retorna -1.
"""
indice = 0
for elemento in entrada:
if elemento == buscado:
return indice
indice += 1
return -1
def conteo_vocales(cadena: str)->int:
""" Contador de vocales
Parámetros:
cadena (str): Cadena de la cual se quieren contar sus vocales.
Retorno:
int: Retorna un número dependiendo de la posición de las vocales de la cadena.
"""
cadena = cadena.lower()
contador_pares = 0
contador_impares = 0
for i in range (len(cadena)):
if cadena[i] in "aeiou":
if i % 2 == 0:
contador_pares += 1
else:
contador_impares += 1
if contador_impares > contador_pares:
return 1
elif contador_pares > contador_impares:
return 2
else:
return 0
def hay_suficientes_divisibles(d: int, numeros: list, n: int)->bool:
""" Conteo de Divisibles
Parámetros:
d (int): El divisor contra el que se evaluarán los números de la lista. El número 'd' será un entero
positivo.
numeros (list): Una lista de números enteros positivos. La lista tiene al menos un elemento.
n (int): La cantidad de números mínima que se espera que cumplan con la condición de ser divisibles
por 'd'. El número 'n' será un entero mayor o igual a 0.
Retorno:
bool: Retorna el valor True si la lista recibida tiene al menos 'n' números que cumplen con ser divisibles
por el número 'd'. Retorna False de lo contrario.
"""
contador_divisibles = 0
for numero in numeros:
if numero % d == 0:
contador_divisibles += 1
if contador_divisibles >= n:
return True
return False
def palabras_intercaladas(cadena1: str, cadena2: str)->str:
""" Palabras intercaladas
Parámetros:
cadena1 (str): Primera cadena de la cual se desean intercalar sus palabras.
cadena2 (str): Segunda cadena de la cual se desean intercalar sus palabras.
Retorno:
str: Cadena con las palabras intercaladas de las dos cadenas de entrada.
"""
palabras1 = cadena1.split()
palabras2 = cadena2.split()
resultado = []
for palabra1, palabra2 in zip(palabras1, palabras2):
resultado.append(palabra1)
resultado.append(palabra2)
cadena_intercalada = " ".join(resultado)
return cadena_intercalada
def separar_por_edad(animales: dict, minimo: int, maximo: int)->list:
""" Adopción Canina
Parámetros:
animales (dict): Diccionario cuyas llaves son los nombres de las mascotas y sus valores la edad de
cada una
minimo (int): Edad mínima de los animales para esta habitación
maximo (int): Edad máxima de los animales para esta habitación
Retorno:
list: Lista de str con los nombres de los animales para la habitación
"""
animales_filtrados = [nombre for nombre, edad in animales.items() if minimo <= edad < maximo]
# Ordena alfabéticamente los nombres de los animales filtrados
animales_filtrados.sort()
return animales_filtrados