Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
Actualizando A Json de una manera más eficiente
[ {"923390702359048212": 5}, {"462291477964259329": 1}, {"803390252265242634": 3}, {"824114065445486592": 2}, {"832041337968263178": 4} ]

Esta es una lista de identificaciones de usuario que acabo de hacer al azar y un número de muestra que tiene cada identificación. En este caso, llamémoslo una cantidad de goles marcados en una temporada en un videojuego. Mientras trato de actualizar la cantidad de goles marcados al final del juego, tengo que dar un rodeo que primero obtenga todas las identificaciones de miembros en el servidor y luego las compare con los datos con el siguiente código.

 amount = 0 for member in server: if member.id != server.member.id: amount = amount + 1 else: print(amount) print(str(member.id), str(server.member.id)) print(jsondata[amount][str(server.member.id)]) break jsondata[amount][str(server.member.id) = jsondata[amount][str(server.member.id)] + 1

¿Hay una mejor manera de hacer lo que estoy haciendo? Sé que eventualmente tendré problemas, ya que no enumero a los miembros en el json hasta que marcan un gol y también siento que estoy perdiendo mucho tiempo con mi programa al hacer que verifique a muchos miembros (yo edité mi lista real e hice esta para que sea más fácil, ya que nadie necesita ver más de 50 entradas para tener una idea). Todavía soy un principiante en lo que respecta a esto, así que responda en términos simples o deje enlaces a lugares donde pueda aprender ideas más complicadas. Gracias

 def goalscored(): amount = 0 for member in server: if member.id != server.member.id: amount = amount + 1 else: print(amount) break with open('Goals.json','w') as f: jsondata = json.load(f) jsondata[amount][str(server.member.id) = jsondata[amount][str(server.member.id)] + 1 json.dump(jsondata,f) def firstgoal(server.member.id): with open('Goals.json','w') as f: jsondata = json.load(f) amount = 0 goalscored = 1 totalmembers = server.members.amount for member in server: if membed.id !=server.member.id: amount = amount + 1 if amount == totalmembers: NewScore = {user.id:goalscored} json.dump(NewScore,f)

Código que estoy usando

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No estoy seguro de por qué no pudo hacerlo funcionar antes, pero almacenarlo como dict sería mucho, mucho más fácil.

 # file.json { "923390702359048212": 5, "462291477964259329": 1, "803390252265242634": 3, "824114065445486592": 2, "832041337968263178": 4 } def goalscored(): with open("Goals.json", "r") as f: jsondata = json.load(f) # Make sure your id is not int but str if server.member.id not in jsondata: # first goal case jsondata[server.member.id] = 0 jsondata[server.member.id] += 1 with open("Goals.json", "w") as f: json.dump(jsondata, f)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda