예제 #1
0
def add(table):
    """
    Ask user for inputs and update the table.
    :param table: database - a text file with data records from accounting module
    :return: updated table with new record
    """
    show_table(table)
    new_record = []
    new_record.append(common.generate_random(table))

    i = 0
    while i < len(options):
        user_input = ui.get_inputs(["Enter {}".format(options[i])], "")
        if common.data_types_dependent_on_numbers(options[i]):
            if common.check_is_number(
                    user_input) and common.check_data_in_range(
                        user_input, options[i]):
                new_record.append(user_input)
                i += 1
            else:
                ui.print_error_message(
                    "Please provide a correct value!".upper())
        else:
            new_record.append(user_input)
            i += 1

    updated_table = table + [new_record]
    data_manager.write_table_to_file(file_name, updated_table)
    show_table(updated_table)

    return updated_table
예제 #2
0
def check_guess(char_stats, number, numbers_end_range, damage, file_name):
    # guess = int(input("Enter an integer from 1 to {}: ".format(numbers_end_range)))
    guess = 999
    os.system('clear')
    print(data_manager.load_ascii_art(file_name))
    while number != guess and char_stats["HP"] > 0:
        ui.print_character_statistics(char_stats)
        guess = input(
            "Guess an integer from 1 to {}: ".format(numbers_end_range))
        if common.check_is_number(guess, numbers_end_range):
            guess = int(guess)
            os.system('clear')
            if guess < number:
                print(data_manager.load_ascii_art(file_name))
                print("{} is to low".format(guess))
                if (damage - char_stats["DEF"]) >= 0:
                    char_stats["HP"] -= (damage - char_stats["DEF"])
            elif guess > number:
                print(data_manager.load_ascii_art(file_name))
                print("{} is to high".format(guess))
                if (damage - char_stats["DEF"]) >= 0:
                    char_stats["HP"] -= (damage - char_stats["DEF"])
        else:
            os.system('clear')
            print(data_manager.load_ascii_art(file_name))
    os.system('clear')
    if char_stats["HP"] > 0:
        char_stats["EXP"] += 4
        if char_stats["EXP"] >= 10:
            char_stats["EXP"] -= 10
            char_stats["LVL"] += 1
            char_stats = char_cr.create_character(2, char_stats)
            os.system('clear')

    return char_stats
예제 #3
0
def handle_user_dates():
    """
    Ask user for month, year, day from and to search.
    :return: list with dates: from, to
    """
    questions = ["Enter month from do you want search", "Enter day from do you want search",
                 "Enter year from do you want search", "Enter month do you want look for",
                 "Enter day do you want look for", "Enter year do you want look for"]
    dates = ["month", "day", "year", "month", "day", "year"]
    options = []
    i = 0
    while i < len(questions):
        value = ui.get_inputs([questions[i]], "")
        if common.check_is_number(value):
            if common.check_data_in_range(value, dates[i]):
                options.append(int(value))
                i += 1
    return options