Python - Tratamiento de diccionarios en Python

 
Vista:

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}

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder