class PulpConsole(cmd.Cmd): def __init__(self): self.__my_pulp = Pulp() self.__my_league = None self.__my_input_validator = InputValidator() cmd.Cmd.__init__(self) self.prompt = 'Pulp > ' def get_my_league(self): return self.__my_league def create_leader(self, argument): try: if self.__my_league.has_leader() is True: raise MyException("League already has a Leader.") elif self.__my_league.is_roster_full() is True: raise MyException("League roster is full.") else: argument = "Leader " + argument validator_output = \ self.__my_input_validator.process_input(argument) if validator_output is None: raise MyException("") except MyException as err: print(err) print("No Leader created.") else: name = validator_output[0][1] skills_array = validator_output[1] abilities_array = validator_output[2] a_character = self.__my_league.add_character( "Leader", name, int(skills_array[0][0]), int(skills_array[0][1]), int(skills_array[1][0]), int(skills_array[1][1]), int(skills_array[2][0]), int(skills_array[2][1]), int(skills_array[3][0]), int(skills_array[3][1]), int(skills_array[4][0]), int(skills_array[4][1]), int(skills_array[5][0]), int(skills_array[5][1]), int(skills_array[6][0]), int(skills_array[6][1])) for ability in abilities_array: a_character.add_ability(ability) print("Leader created: " + a_character.get_name()) def create_sidekick(self, argument): try: if self.__my_league.has_sidekick() is True: raise MyException("League already has a Sidekick.") elif self.__my_league.is_roster_full() is True: raise MyException("League roster is full.") else: argument = "Sidekick " + argument validator_output = \ self.__my_input_validator.process_input(argument) if validator_output is None: raise MyException("") except MyException as err: print(err) print("No Sidekick created.") else: name = validator_output[0][1] skills_array = validator_output[1] abilities_array = validator_output[2] a_character = self.__my_league.add_character( "Sidekick", name, int(skills_array[0][0]), int(skills_array[0][1]), int(skills_array[1][0]), int(skills_array[1][1]), int(skills_array[2][0]), int(skills_array[2][1]), int(skills_array[3][0]), int(skills_array[3][1]), int(skills_array[4][0]), int(skills_array[4][1]), int(skills_array[5][0]), int(skills_array[5][1]), int(skills_array[6][0]), int(skills_array[6][1])) for ability in abilities_array: a_character.add_ability(ability) print("Sidekick created: " + a_character.get_name()) def create_ally(self, argument): try: if self.__my_league.is_roster_full() is True: raise MyException("League roster is full.") else: argument = "Ally " + argument validator_output = \ self.__my_input_validator.process_input(argument) if validator_output is None: raise MyException("") except MyException as err: print(err) print("No Ally created.") else: name = validator_output[0][1] skills_array = validator_output[1] abilities_array = validator_output[2] a_character = self.__my_league.add_character( "Ally", name, int(skills_array[0][0]), int(skills_array[0][1]), int(skills_array[1][0]), int(skills_array[1][1]), int(skills_array[2][0]), int(skills_array[2][1]), int(skills_array[3][0]), int(skills_array[3][1]), int(skills_array[4][0]), int(skills_array[4][1]), int(skills_array[5][0]), int(skills_array[5][1]), int(skills_array[6][0]), int(skills_array[6][1])) for ability in abilities_array: a_character.add_ability(ability) print("Ally created: " + a_character.get_name()) def create_follower(self, argument): try: if self.__my_league.is_roster_full() is True: raise MyException("League roster is full.") else: argument = "Follower " + argument validator_output = \ self.__my_input_validator.process_input(argument) if validator_output is None: raise MyException("") except MyException as err: print(err) print("No Follower created.") else: name = validator_output[0][1] skills_array = validator_output[1] abilities_array = validator_output[2] a_character = self.__my_league.add_character( "Follower", name, int(skills_array[0][0]), int(skills_array[0][1]), int(skills_array[1][0]), int(skills_array[1][1]), int(skills_array[2][0]), int(skills_array[2][1]), int(skills_array[3][0]), int(skills_array[3][1]), int(skills_array[4][0]), int(skills_array[4][1]), int(skills_array[5][0]), int(skills_array[5][1]), int(skills_array[6][0]), int(skills_array[6][1])) for ability in abilities_array: a_character.add_ability(ability) print("Follower created: " + a_character.get_name()) def do_League(self, argument): a_league = self.__my_pulp.add_league(argument) self.__my_league = a_league self.__my_league.display() def help_League(self): print("syntax: League [name]",) print("-- creates a league \n") print(" A league consists of various characters. Each league " "must include one (and only one) Leader.") print(" A Leader may or may not be accompanied by a single " "Sidekick. A League may include many Allies and Followers.") print(" The number of characters is determined by filling a " "league roster. A roster has a maximum of 10 slots.") print(" A Leader does not take any slots on the roster. A " "Sidekick takes 3 slots. An Ally takes 2 slots. A " "Follower takes 1 slot.") print(" Players are encouraged to include 4 to 6 characters " "in their first Leagues.") def do_Leader(self, argument): if self.__my_league is not None: self.create_leader(argument) else: print("No league exists yet. Leader not created.") def help_Leader(self): print("syntax: Leader [name]",) print("-- creates a Leader") def do_Sidekick(self, argument): if self.__my_league is not None: self.create_sidekick(argument) else: print("No league exists yet. Sidekick not created.") def help_Sidekick(self): print("syntax: Sidekick [name]",) print("-- creates a Sidekick") def do_Ally(self, argument): if self.__my_league is not None: self.create_ally(argument) else: print("No league exists yet. Ally not created.") def help_Ally(self): print("syntax: Ally [name]",) print("-- creates an Ally") def do_Follower(self, argument): if self.__my_league is not None: self.create_follower(argument) else: print("No league exists yet. Follower not created.") def help_Follower(self): print("syntax: Follower [name]",) print("-- creates a Follower") def do_Display(self, argument): if self.__my_league is not None: self.__my_league.display() else: print("No league exists yet.") def help_Display(self): print("syntax: display",) print("-- displays a league") def do_Quit(self, arg): sys.exit(1) def help_Quit(self): print("syntax: quit",) print("-- terminates the console")
def __init__(self): self.__my_pulp = Pulp() self.__my_league = None self.__my_input_validator = InputValidator() cmd.Cmd.__init__(self) self.prompt = 'Pulp > '
__author__ = 'himanabdollahpouri' import NameGenerator as ng import InputValidator as iv gender = raw_input( "Do you want boys names or girls names? b for boys and g for girls ") # Validating the entered gender in order to only accept 'g' or 'b' while iv.validateGender(gender): gender = raw_input("Wrong input! Please either enter b or g") minL = input('Enter minimum Length for the names: ') while iv.validateMinimumLength(minL): minL = input( 'Min length should be at least 1. Enter minimum Length for the names: ' ) maxL = input('Enter maximum Length for the names: ') while iv.validateMaximumLength(maxL): maxL = input( 'Too big! Enter smaller length! less than 20! Enter maximum Length for the names: ' ) order = input('Enter the markove model order: ') while iv.validateOrder(order): order = input( 'Please set the order higher than zero. Enter the markove model order: ' ) count = input('how many names you want? ')
# # FILENAME = path to file with polynomial expression # LIMIT_DOWN = lower integration limit # LIMIT_UP = upper integration limit # STEP = size of integration step from IntegrationEngine import * from InputValidator import * from InputReader import * from scipy import integrate import sys print "Welcome to >>INTEGRATOR 2000<<" reader = InputReader(sys.argv) # get input validator = InputValidator(reader.data()) # initialize validator validator.run() # validate input if validator.isvalid: # if input is valid, proceed with integral calculation func = validator.function() opts = validator.options() integrator = IntegrationEngine('trapez') # initialization of an engine myintegral = integrator.integrate(func, *opts) # calculate integral using own algorithm scipyintegral = integrate.quad(func, opts[0], opts[1]) # calculate integral using scipy library print 'Integral calculated with own algorithm :\t' + str(myintegral) print 'Integral calculated with scipy.integrate.quad :\t' + str(scipyintegral[0]) print 'Relative difference amounts ' + str(100*(myintegral-scipyintegral[0])/scipyintegral[0]) + '%' print "Thank you for using >>INTEGRATOR 2000<< :-)"
def __init__(self): self.inputvaludator = InputValidator() self.inputreader = InputReader() self.solver = Solver() print("Witaj w programie!") self.run()
class ApplicationMgr: #konstruktor def __init__(self): self.inputvaludator = InputValidator() self.inputreader = InputReader() self.solver = Solver() print("Witaj w programie!") self.run() def history(self): try: fp = open("history.txt", "r") lines = fp.readlines() for line in lines: print(line, end="") fp.close() except FileNotFoundError: print("Brak historii") return def run(self): menuinput = "" option = 1 equations_list = [] #główna pętla programu while (True): #zmienne odpowiedzialne za działanie pętli w których wczytywane są równania eq1_loop, eq2_loop = True, True #listy zawierające współczynniki równania eq1, eq2 = [], [] print("Wybierz --1-- aby rozwiązać równanie") print("Wybierz --2-- aby wyswietlic historie rozwiazan") print("Wybierz --q-- aby wyjść") #wczytywanie opcji wybranej przez yżytkownika menuinput = self.inputreader.menu_loader() #print(menuinput) #wybór działania w zależności od wyboru użytkownika if (menuinput == 'q'): break elif (menuinput == str(2)): self.history() elif (menuinput != str(1)): print("Nie ma takiej opcji!") else: #pętla w której użytkownik podaje pierwsze równanie while (eq1_loop): print("Pierwsze równanie:") #wczytywanie współczynników rownania eq1 = self.inputreader.equation_loader() print("Wczytano równanie: " + str(eq1[0]) + "x + " + str(eq1[1]) + "y = " + str(eq1[2])) print("Zatwierdź równanie lub podaj je jeszcze raz") #wczytywanie działania podanego przez użytkownika option = self.inputreader.eq_option_loader() #print(option) if (option == str(1)): eq1_loop = False #pętla w ktorej użytkownik podaje drugie równanie while (eq2_loop): print("Drugie równanie:") eq2 = self.inputreader.equation_loader() print("Wczytano równanie: " + str(eq2[0]) + "x + " + str(eq2[1]) + "y = " + str(eq2[2])) print("Zatwierdź równanie lub podaj je jeszcze raz") option = self.inputreader.eq_option_loader() #print(option) if (option == str(1)): eq2_loop = False print("Wczytane równania") #wypis wczytanych równań self.inputvaludator.print_equation(eq1) self.inputvaludator.print_equation(eq2) #zapis rozwiązania result = self.solver.solve(eq1, eq2) #wychwycenie gdy podany układ ma nieskończenie wiele rozwiązań lub jest sprzeczny if (result is -1): print( "Układ ma nieskończenie wiele rozwiązań lub jest sprzeczny" ) else: #wypis rozwiązania układu self.inputvaludator.print_result(result) #generowanie wykresu self.solver.plot_chart(eq1, eq2) #zapis do historii działania programu self.solver.save_data(eq1, eq2, result) #komunikat na zakończenie programu print("Żegnaj!")