Matblinx

Untitled

Jul 22nd, 2021
32
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. def categorizar_sismos(archivo_sismos):
  2. diccionario_sismos = {}
  3. lista_ciudades = []
  4. for sismos in archivo_sismos:
  5. datos = sismos.strip().split( ";" )
  6. separador = datos[0].split( "T" )
  7. fecha, hora = separador[0], separador[1]
  8. latitud, longitud, profundidad, magnitud, lugar = datos[1], datos[2], datos[3], float( datos[4] ), datos[5]
  9. if magnitud not in diccionario_sismos:
  10. diccionario_sismos[magnitud] = []
  11. diccionario_sismos[magnitud].append([])
  12. diccionario_sismos[magnitud][0].append(magnitud)
  13. diccionario_sismos[magnitud][0].append(fecha)
  14. diccionario_sismos[magnitud][0].append(hora )
  15. diccionario_sismos[magnitud][0].append(lugar)
  16. elif lugar in diccionario_sismos:
  17. lista = []
  18. lista.append( magnitud )
  19. lista.append( fecha )
  20. lista.append( hora )
  21. lista.append( lugar )
  22. diccionario_sismos[magnitud].append(lista)
  23. lista_final = []
  24. for grado in diccionario_sismos:
  25. if len(diccionario_sismos[grado]) >1:
  26. lista =diccionario_sismos[grado]
  27. lista.sort()
  28. lista.reverse()
  29. diccionario_sismos[grado] = lista
  30. lista_final.append(diccionario_sismos[grado])
  31. lista_final.append(diccionario_sismos[grado])
  32.  
  33. diccionario_grados = {}
  34. for grados in lista_final:
  35. for x in grados:
  36. n = int( x[0] )
  37. mayor = n + 1
  38. menor = n - 2
  39. if n == 2 and n < 3 and n not in diccionario_grados:
  40. n = n%10
  41. diccionario_grados[n] = []
  42. diccionario_grados[n].append( [] )
  43. diccionario_grados[n][0].append(x[0] )
  44. diccionario_grados[n][0].append( x[1] )
  45. diccionario_grados[n][0].append( x[2] )
  46. diccionario_grados[n][0].append( x[3] )
  47. elif n == 2 and n < 3 and n in diccionario_grados:
  48. lista = []
  49. lista.append( x[0] )
  50. lista.append( x[1] )
  51. lista.append( x[2] )
  52. lista.append( x[3] )
  53. diccionario_grados[n].append(lista)
  54. if n > menor and n <mayor and n >=3 and n not in diccionario_grados:
  55. n = n%10
  56. diccionario_grados[n] = []
  57. diccionario_grados[n].append( [] )
  58. diccionario_grados[n][0].append( x[0] )
  59. diccionario_grados[n][0].append( x[1] )
  60. diccionario_grados[n][0].append( x[2] )
  61. diccionario_grados[n][0].append( x[3] )
  62. elif n > menor and n <mayor and n >=3 and n in diccionario_grados:
  63. lista = []
  64. lista.append( x[0] )
  65. lista.append( x[1] )
  66. lista.append( x[2] )
  67. lista.append(x[3] )
  68. diccionario_grados[n].append( lista )
  69. contador = 0
  70. for llaves in diccionario_grados:
  71. contador += 1
  72. lista_definitiva = []
  73. for X in diccionario_grados:
  74. lista = diccionario_grados[X]
  75. lista.sort()
  76. lista.reverse()
  77. diccionario_grados[X] = lista
  78.  
  79. for data in diccionario_grados:
  80. numero = data
  81. archivar = open( "mag" + str(numero) + str( ".txt" ), "w" )
  82. contadorr =0
  83. for datos in diccionario_grados[data]:
  84. if contadorr < 3:
  85. archivar.write("Fecha: {}; Hora: {}; Lugar: {}; Magnitud: {}.\n".format( datos[1], datos[2], datos[3], datos[0] ) )
  86. contadorr += 1
  87. archivar.close()
  88.  
  89.  
  90. return contador
  91.  
  92. archivo = open( "sismos.txt", "r" )
  93. print(categorizar_sismos(archivo))
RAW Paste Data