Domanda Piccolo Aiuto con un esercizio

Stato
Discussione chiusa ad ulteriori risposte.

Consilvio

Utente Silver
18 Dicembre 2013
100
13
3
65
Salve a tutti ho un problemino con un esercizio. In poche parole devo aggiungere una funzione che permetta di salvare i voti registrati in questo piccolo programma. Come faccio?

Codice:
massimo_punti =  [25,25,50,25,100]
assignments = ['Biologia', 'Chimica', 'Lettere','Matematica','Informatica']
students = { "Studente" : massimo_punti}

def save_grades():

    
def menu():
    print "1. Aggiungi uno studente"
    print "2. Rimuovi uno studente"
    print "3. Visualizza voti"
    print "4. Registra voti"
    print "5. Visualizza menu"
    print "6. Salva voti"
    print "7. Esci"

def stampa_tutti_voti():
    print '\t'
    for i in range(len(assignments)):
        print assignments[i],'\t',
    print
    keys = students.keys()
    keys.sort()
    for x in keys:
        print x,'\t',
        grades = students[x]
        print_grades(grades)


def print_grades(grades):
    for i in range(len(grades)):
        print grades[i],'\t\t',
    print

menu()
menu_choice = 0
while menu_choice != 7:
    print
    menu_choice = input("Scegli (1-7): ")
    if menu_choice == 1:
        name = raw_input("Studente da aggiungere:")
        students[name] = [0]*len(massimo_punti)
    elif menu_choice == 2:
        name = raw_input("Studenti da rimuovere:")
        if students.has_key(name):
            del students[name]
        else:
            print "Student: ", name, " not found"
    elif menu_choice == 3:
         stampa_tutti_voti()
    elif menu_choice == 4:
        print "Registra voto"
        name = raw_input("Studente:")
        if students.has_key(name):
            grades = students[name]
            print "Digita il voto da registrare"
            print "Digita 0 per uscire"
            for i in range(len(assignments)):
                           print i+1,' ',assignments[i],'\t',
            print
            print_grades(grades)
            which =1234
            while which != -1:
                           which = input("cambia quale voto:")
                           which = which-1
                           if 0 <= which < len(grades):
                                 grade = input("voto:")
                                 grades[which] = grade
                           elif which != -1 :
                                  print "Voto non valido"
        else:
                           print "Studente non trovato"

    elif menu_choice == 6:
         filename = raw_input("Come vuoi chiamare il file?")
        


    elif menu_choice != 7:
                         break

Ho tentato con qualcosa del tipo ma non va
Codice:
out_file = open("test.txt","w")
out_file.write(stampa_tutti_voti())
out_file.close()
 
Il metodo write accetta come argomenti delle stringhe. La funzione stampa_tutti_voti() non restituisce una stringa
 
Stato
Discussione chiusa ad ulteriori risposte.