Advertisement
MirandaWopps

Help me Count CeuT - ON GPT

Nov 13th, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.84 KB | None | 0 0
  1. import re
  2. import sys
  3.  
  4. def contar_numeros_na_posicao(arquivo):
  5.     # Dicionario para armazenar o contador de cada numero (1 a 5)
  6.     contadores = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0}
  7.    
  8.     try:
  9.         # Abre o arquivo para leitura
  10.         with open(arquivo, 'r') as file:
  11.             # Le o arquivo linha por linha
  12.             for linha in file:
  13.                 # Encontra a sequencia 'data=[' e extrai os numeros da lista
  14.                 match = re.search(r"data=\[(.*?)\]", linha)
  15.                 if match:
  16.                     # Extrai os numeros da lista (parte entre colchetes)
  17.                     lista = match.group(1).split(',')
  18.                     try:
  19.                         # Verifica a posicao onde o numero 33 esta (primeira posicao)
  20.                         numero_na_posicao = int(lista[0])  # Posicao onde o numero 33 esta
  21.                        
  22.                         # Se o numero encontrado na posicao e um dos numeros de interesse, incrementa
  23.                         if numero_na_posicao in contadores:
  24.                             contadores[numero_na_posicao] += 1
  25.                     except ValueError:
  26.                         continue  # Se nao for um numero valido, ignora a linha
  27.  
  28.     except IOError:
  29.         print "Erro: O arquivo '{}' nao foi encontrado.".format(arquivo)
  30.         return None
  31.  
  32.     return contadores
  33.  
  34. def main():
  35.     # Verifica se o nome do arquivo foi passado como argumento
  36.     if len(sys.argv) != 2:
  37.         print "Uso: python script.py <caminho_do_arquivo>"
  38.         sys.exit(1)
  39.  
  40.     arquivo = sys.argv[1]  # Recebe o caminho do arquivo
  41.  
  42.     resultado = contar_numeros_na_posicao(arquivo)
  43.  
  44.     if resultado:
  45.         # Exibe a contagem no formato solicitado
  46.         for numero in range(1, 6):
  47.             print "{}: {}".format(numero, resultado[numero])
  48.  
  49. if __name__ == "__main__":
  50.     main()
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement