Python Programma tieni punteggio.
Ho voglia di organizzare un torneo di 105, per chi non lo conoscesse e` il gioco che ha ispirato UNO solamente un po' piu complesso. Ma, prima di poterci giocare avevo intenzione di fare un programma in python il cui scopo è quello di tenere il punteggio del torneo e, all`occorrenza, quello di crearmi un file.txt con tutti i nomi dei partecipanti e i relativi punteggi, in ordine decrescente. Ovviamente in qualsiasi momento si dovra poter aggiungere un partecipante, diminuirne o aumentarne il punteggio, eliminarlo dal torneo. Il programma che ho in mente non e specializzato per il centocinque ma è un generico "tieni punteggio metti in ordine decrescente e scrivi file nel formato "NOME GIOCATORE \t\t PUNTEGGIO"" per così dire. Ecco come mi immagino la struttura del programma (ma che probabilmente fara schifo perche non ho mai fatto niente di utile):
- Una directory con dentro dei file.py ciascuno dei quali grazie alla libreria 'pickle' interagisce con un file che sarà appunto info.pck e, ciascuno dei quali ha un compito ben preciso: sorting decrescente, generare il file.txt, aggiungere un partecipante, rimuovere un partecipante, etc...
- Ciascuno di questi file python poi verrà interpellato dall`utente direttamente da console tramite degli script posti in /usr/bin.
Ho deciso di usare questa implementazione cosi che semmai volessi aggiungere qualche nuova feature al programma, non dovro mai modificare né i vecchi script né i file.py ma dovrò semplicemente creare le nuove feature e farle interagire con il file.pck. Prima di andare avanti volevo qualche opinione o consiglio riguardo alla struttura sopra descritta, ed eventualmente migliorie o magari una struttura completamente diversa.
- Fede
- Primo modulo.py, Starter.py:
import pickle
scelta = 'y'
infotorneo = {}
while scelta == 'y':
a = raw_input("Nome Giocatore:" ) #a = input("Nome Giocatore:" )
infotorneo[a] = 0 #Inizialmente nel torneo tutti hanno punteggio 0.
scelta = raw_input("Vuoi inserire altri Giocatori? (y/n)" ) #scelta = input("Vuoi inserire altri Giocatori? (y/n)" )
while (scelta != 'y' and scelta != 'n'):
scelta = raw_input("Specificare y/n" ) #scelta = input("Specificare y/n" )
f = open(".info.pck","w")
pickle.dump(infotorneo, f)
f.close()
- il modulo cambiapunteggiodi.py:
import pickle
f = open(".info.pck","r")
infotorneo = {}
infotorneo = pickle.load(f)
f.close()
scelta = 'y'
while (scelta == 'y'):
Giocatore = raw_input("Di chi vuoi cambiare il punteggio?" )
NuovoPunteggio = raw_input("Inserire nuovo punteggio." )
infotorneo[Giocatore] = NuovoPunteggio
scelta = raw_input("Vuoi cambiare il punteggio di un altro giocatore?(y/n)" )
while(scelta != 'y' and scelta != 'n'):
scelta = raw_input("Specificare y/n")
f = open(".info.pck","w")
pickle.dump(infotorneo, f)
f.close()