コード例 #1
0
def main(argv=None):
    if argv is None:
        argv = sys.argv
    data = {0:[]}
    songs = data[max(list(data.keys()))]
    print ("Would you like to:\n\t[1]Load a previous saved generation\n\t[2]Generate a new random generation\n\t[3]Print Previous Generation Data")
    choice = prompt("Please select an option", ["1", "2", "3"], True)
    if choice == "1":
        print ("Loading last generation")
        data = pickle.load(open(filename+".pkl", "rb"))
        songs = data[max(list(data.keys()))]
        for song in songs:
            print ("%d.%d: %s" % (song.generation, song.songnum, song.name))
            if song.score == -1:
                while True:
                    try:
                        score = float(prompt("Song score"))
                        song.score = score
                        pickle.dump(data, open(filename+".pkl", "wb"))
                        break
                    except ValueError:
                        print("Please enter a valid number")
            else:
                print ("Score: %s" % (song.score))
            print ()
            
    elif choice == "2":
        print ("Generating Songs")
        for i in ProgressBar.progressbar(range(generationSize)):
            songs.append(Song())
            s = songs[-1]
            s.songnum = i
            s.createFile()
        pickle.dump(data, open(filename+".pkl", "wb"))
        print("Generation 0 generated and saved to file")
    else:
        data = pickle.load(open(filename+".pkl", "rb"))
        pprint(data[max(list(data.keys()))])