Пример #1
0
def decimal_to_fraction (number = decimal.Decimal()):
    if number == decimal.Decimal():
        number = generate_decimal(0, 999)
    number_in_fraction = Fraction(number)
    answer = printable_fraction_from_fraction(number_in_fraction)
    question = "Convert {} to a fraction. Simplify the fraction, if required.".format(number)
    return (question, answer)
Пример #2
0
def fraction_as_percentage (number = Fraction ()):
    if number == Fraction():
        possible_denominators = [2, 5, 10, 20, 25, 50]
        selection = random.randint (0, len (possible_denominators)-1)
        denominator = possible_denominators[selection]
        numerator = random.randint(2, 15)
        while (numerator == denominator and numerator % denominator != 0):
            numerator = random.randint (2, 15)
        number = Fraction(numerator, denominator)
        logging.info ("{} {} {}".format (selection, denominator, printable_fraction_from_fraction(number)))
    question = "Express fraction {} as a percentage.".format (printable_fraction_from_fraction(number))
    original_precision = decimal.getcontext().prec
    decimal.getcontext().prec = 2
    answer = number.numerator * 100/number.denominator
    answer = "{} %".format (answer)
    decimal.getcontext().prec = original_precision
    return (question, answer)
def __printable_expression_fractions (fraction_list, ops_list):
    if fraction_list == None or len (fraction_list) == 0 or ops_list == None or len (ops_list) == 0:
        logging.info ("Invalid parameters passed to function.")
        return False
    expression = ""
    for i in range (0, len (fraction_list)):
        if fraction_list[i].numerator > fraction_list[i].denominator:
            expression += "{}".format (printable_mixed_fraction(fraction_list[i]))
        else:
            expression += "{}".format (printable_fraction_from_fraction(fraction_list[i]))
        if i <= len (fraction_list) -2:
            expression += " {} ".format (ops_list[i])
    return expression
Пример #4
0
def multiple_decimals_to_fractions (decimal_list = []):
    dec_list = []
    if not decimal_list:
        i = 0
        if len(decimal_list) <= 4:
            dec_list.append (decimal.Decimal(random.randint(1,9)/1000).quantize(decimal.Decimal('0.001'), rounding=decimal.ROUND_DOWN))
            dec_list.append (decimal.Decimal(random.randint(111,999)/1000).quantize(decimal.Decimal('0.001'), rounding=decimal.ROUND_DOWN))
            dec_list.append (decimal.Decimal(random.randint(1,9)/100).quantize(decimal.Decimal('0.01'), rounding=decimal.ROUND_DOWN))
            dec_list.append (generate_decimal(0, 9999).quantize(decimal.Decimal('0.001'), rounding=decimal.ROUND_DOWN))

        decimal_list = dec_list
    fraction_list = []
    answer = ""
    question = ""
    for i in range (0, len (decimal_list)):
        fraction_list.append( Fraction(decimal_list[i]))
        answer += printable_fraction_from_fraction(fraction_list[i])
        question += " {}".format (decimal_list[i])
        if i != len (decimal_list) -1:
            answer += ","
            question += ","
    question = "Convert the decimals into their equivalent fractions : {}".format (question)
    return (question, answer)