Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Python Write a function moronic calc() that takes a string consisting of a mathematical expression written in Mo- ronicnumerals,suchasFFSSEI - FIIE,andreturnsthevalueoftheexpressioninMoronicnumerals. In the argument you

Python

image text in transcribed

Write a function moronic calc() that takes a string consisting of a mathematical expression written in Mo- ronicnumerals,suchasFFSSEI - FIIE,andreturnsthevalueoftheexpressioninMoronicnumerals.

In the argument you may assume that there is always exactly one space after the first operand, followed by an operator, followed by a space, followed by the second operand. Negation of numbers is also allowed, but with some limitations mentioned below. If a number is negated, then the negation symbol appears immediately to the left of the leftmost numeral.

Your calculator must support the following mathematical operators:

image text in transcribed

Important notes:

- Either or both operands could be negative, except for the exponent in an exponentiation operation, which you may assume is positive.

- You may assume that the result of an operation is in the range [3071, 3071], with the exception of zero.

- If the result is positive, do NOT include a + sign in front of it.

- Finally, you will want to have the moronic calc() functioncall your arabic2moronic() and moronic2arabic() functions as needed to help solve this problem. **(I posted two other questions for the arabic2moronic() and moronic2arabic() functions)**

image text in transcribed

 def moronic_calc(expression): return None 
 if __name__ == "__main__": 
 print('Testing moronic2arabic() for "FIE + SSSEIII": ' + str(moronic_calc('FIE + SSSEIII'))) print('Testing moronic2arabic() for "-SIE - -FSSSEIII": ' + str(moronic_calc('-SIE - -FSSSEIII'))) print('Testing moronic2arabic() for "-FSFEIII / EIII": ' + str(moronic_calc('-FSFEIII / EIII'))) print('Testing moronic2arabic() for "IIIII * EEEEEIII": ' + str(moronic_calc('IIIII * EEEEEIII'))) print('Testing moronic2arabic() for "-IIIII ^ III": ' + str(moronic_calc('-IIIII ^ III'))) 
You've heard of Roman numerals, but have you heard of Moronic numerals? Probably not because we've invented them for this homework assignment. Moronic numerals are similar to Roman numerals in that numbers are formed by combining symbols and adding the values In Moronic numerals, each numeral has a fixed value representing a power of 8 (rather than a power of 10 or half of a power of 10, as in Roman numerals) Symbol: I E S F Value: 1 3 64 512 Symbols are placed from left to right in order of value, starting with the largest. For example, FFFFSSSEEEEEllll s 2, 284 (512 x 4) (64 x 3) (8 x 5) (4 x 1) In a few specific cases, to avoid having six or more characters being repeated in succession (such as llllll or EEEEEE), subtractive notation is used, as in this table: Number 6 7 48 (64 2x 8) 56 (64 1x8) 384 (512 2x64) 448 (512-1x64) Notation: ILE DE EES SF ES SSF

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Handbook Of Database Security Applications And Trends

Authors: Michael Gertz, Sushil Jajodia

1st Edition

1441943056, 978-1441943057

More Books

Students also viewed these Databases questions

Question

Explain the process of MBO

Answered: 1 week ago

Question

4. What advice would you give to Carol Sullivan-Diaz?

Answered: 1 week ago