Tratamiento de diccionarios en Python
Publicado por Maria (7 intervenciones) el 09/11/2019 19:49:42
Buenas tardes, tengo el siguiente programa el cual toma como pametros un diccionario claves (str) y valores (int) y dos números enteros. El programa devuelve un nuevo diccionario conteniendo las parejas del diccionario pasado como primer parámetro cuyos valores se encuentren en el rango comprendido entre el segundo y tercer parámetro (ambos incluidos).
EN ESTE CASO, EL PROBLEMA ES QUE TENGO DOS PEQUEÑOS ERRORES EN LA EJECUCIÓN DEL PROBLEMA. EL PRIMER ERROR ES QUE LA CLAVE {'': 10}NO SE MUESTRA Y EL SEGUNDO ERROR ES QUE NO SE MUESTRA LA CLAVE {0: 179}
EN ESTE CASO, EL PROBLEMA ES QUE TENGO DOS PEQUEÑOS ERRORES EN LA EJECUCIÓN DEL PROBLEMA. EL PRIMER ERROR ES QUE LA CLAVE {'': 10}NO SE MUESTRA Y EL SEGUNDO ERROR ES QUE NO SE MUESTRA LA CLAVE {0: 179}
1
2
3
4
5
6
7
OUTPUT1: {'XYZ': 1, 'ERD': 4, 'WSX': 7, 'GDF': 8, 'ERS': 3, 'WSD': 12, 'UHB': 13, 'YGH': 14, 'QWR': 15}
OUTPUT ESPERADO1 : {'XYZ': 1, 'ERD': 4, 'WSX': 7, 'GDF': 8, 'ERS': 3, '': 10, 'WSD': 12, 'UHB': 13, 'YGH': 14, 'QWR': 15}
OUTPUT2:{1: -392, 2: -135, 3: -134, 6: -615, 7: 29, 9: 20}
OUTPUT ESPERADO2:{0: -179, 1: -392, 2: -135, 3: -134, 6: -615, 7: 29, 9: 20}
1
2
3
4
5
6
7
8
9
dicc = {'XYZ': 1, 'ERD': 4, 'WSX': 7, 'GDF': 8, 'ERS': 3, '': 10, 'WSD': 12, 'UHB': 13, 'YGH': 14, 'QWR': 15} Y {0: -179, 1: -392, 2: -135, 3: -134, 4: -959, 5: -998, 6: -615, 7: 29, 8: -971, 9: 20}
inicio = -1 Y -619
fin = 100 Y 313
def funcion(dicc, inicio, fin):
diccionariovacio = {}
for clave, valor in dicc.items():
if clave and valor in range(start, end + 1):
diccionariovacio[clave] = valor
return diccionariovacio
Valora esta pregunta


0