am_dot_com

FP 2023-01-03

Jan 3rd, 2023 (edited)
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. #sorteador_v3.py
  2.  
  3. strGruposRecebidos = \
  4. """
  5. 220001395 220001418
  6. 220001404 220001207 220001637
  7. 220001350 220000808 220001408
  8. 980092719 220001403 220000542
  9. 220001337 220000807
  10. 220001613 220000538
  11. 200100265
  12. 220001662 220001670 220001521
  13. 220000415
  14. 220001342 220000882 220000730
  15. 220001648
  16. 220001647 220001436
  17. 220000005 220001674
  18. 220000001 220000006
  19. 190200190 220001639
  20. 190100391
  21. 220001462 220000839
  22. 220001300
  23. 220000329 220001367
  24. 220000520
  25. 220000394
  26. 220001410 220001406
  27. 220000541 220001661
  28. """
  29.  
  30. def getGruposAsList(pStrGruposRecebidos:str)->list:
  31. listGrupos = []
  32. listGruposRaw =\
  33. pStrGruposRecebidos.strip().split("\n")
  34.  
  35. for g in listGruposRaw:
  36. # g = "220001395 220001418"
  37. strGrupoStripped = g.strip()
  38. listGrupo = strGrupoStripped.split(" ")
  39. listGrupos.append(listGrupo)
  40. # for
  41.  
  42. return listGrupos
  43. # def getGruposAsList
  44.  
  45. # problema de associar números aos grupos
  46. def numerosParaOsGrupos(pListGrupos):
  47. listNumerosDosGrupos = list()
  48. numeroDoGrupo = 0
  49. for g in pListGrupos:
  50. strMsg = f"Grupo #{numeroDoGrupo} => {g}"
  51. print(strMsg, sep="\n")
  52.  
  53. listNumerosDosGrupos.append(numeroDoGrupo)
  54. numeroDoGrupo+=1
  55. # for
  56.  
  57. return listNumerosDosGrupos
  58. # def numerosParaOsGrupos
  59.  
  60. lg = getGruposAsList(strGruposRecebidos)
  61. #print(lg)
  62.  
  63. ng = numerosParaOsGrupos(lg)
  64.  
  65. import numpy as np
  66.  
  67. # problema #3 - sortear a ordem das apresentações,
  68. # usando a numeração de grupos decidida anteriormente
  69.  
  70. strMsg = f"Grupos recebidos:\n{ng}"
  71. print(strMsg)
  72. np.random.shuffle(ng)
  73. strMsg = f"Ordem sorteada:\n{ng}"
  74. print(ng)
  75.  
  76. def verMelhorOrdemDasApresentacoes(pListOrdem):
  77. apNum = 1
  78. strAll = ""
  79. for g in pListOrdem:
  80. strMsg = f"Apresentação #{apNum} : {g}"
  81. print(strMsg)
  82. strAll+=strMsg+"\n"
  83. apNum+=1
  84. # for
  85.  
  86. fw = open("FP_ORDEM.TXT", "wt")
  87. fw.write(strAll)
  88. fw.close()
  89. # def verMelhorOrdemDasApresentacoes
  90.  
  91. print ("_.-^-."*20)
  92. verMelhorOrdemDasApresentacoes(ng)
  93.  
  94. ********************************************************
  95.  
  96.  
  97. Apresentação #1 : 10
  98. Apresentação #2 : 19
  99. Apresentação #3 : 1
  100. Apresentação #4 : 21
  101. Apresentação #5 : 17
  102. Apresentação #6 : 8
  103. Apresentação #7 : 5
  104. Apresentação #8 : 22
  105. Apresentação #9 : 12
  106. Apresentação #10 : 11
  107. Apresentação #11 : 4
  108. Apresentação #12 : 13
  109. Apresentação #13 : 2
  110. Apresentação #14 : 7
  111. Apresentação #15 : 9
  112. Apresentação #16 : 20
  113. Apresentação #17 : 15
  114. Apresentação #18 : 3
  115. Apresentação #19 : 6
  116. Apresentação #20 : 16
  117. Apresentação #21 : 18
  118. Apresentação #22 : 0
  119. Apresentação #23 : 14
  120.  
Advertisement
Add Comment
Please, Sign In to add comment