Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

PYTHON PLS 5.14 Enhanced molecular weight program (1) 6 points. Using the following atomic weights carbon 12.0110 hydrogen 1.0079 oxygen 15.9994 revise your program for

PYTHON PLS 5.14 Enhanced molecular weight program

(1) 6 points. Using the following atomic weights

carbon 12.0110 hydrogen 1.0079 oxygen 15.9994 

revise your program for the molecular weight of a chemical compound of hydrogen, carbon, and oxygen, so that it can take as user input a chemical formula of the form C2H5OH for ethyl alcohol, COOHC6H4OCOCH3 or C9H8O4 for aspirin, CH3CH2CH2CH2CH2CH2CH2CH3 or C8H18 for octane, and so forth. You should write an algorithm to analyse an input string of this form, using string indexing as in section 3.1 to look at individual characters in the string. You should accumulate the total counts of hydrogen, carbon, and oxygen in the compound, and then use the formula in your previous section 2.12 assignment to compute the molecular weight. I suggest you use a list of three entries for these three counts, and increment the appropriate count as you process the input string. Be careful to deal with the case when there is no number following the letter, which means the implied number is just one, and the case, as for octane above, when the number after a letter has more than one digit.

The program should keep outputting the prompt "Enter a chemical formula, or just the enter key to quit: " for the chemical formula of a new compound, until the user presses only the enter key without a chemical formula, in which case the program should terminate. The molecular weights should be printed with exactly four digits after the decimal point (since the atomic weights above and in section 2.12 have four decimal places).

Below is my output for the four chemical formulas above. The user input will not appear in the output used by the zyBooks comparison tests when grading. There are also some hidden test cases.

Enter a chemical formula, or just the enter key to quit: C2H5OH The molecular weight is 46.0688 Enter a chemical formula, or just the enter key to quit: COOHC6H4OCOCH3 The molecular weight is 180.1598 Enter a chemical formula, or just the enter key to quit: C9H8O4 The molecular weight is 180.1598 Enter a chemical formula, or just the enter key to quit: C8H18 The molecular weight is 114.2302 Enter a chemical formula, or enter key to quit: 

(2) 3 points. Modify your program so that if the user enters an invalid formula, for example, one that contains other characters besides digits and C, H, and O, or begins with a digit, the program will print the line "Badly formed molecular formula; try again." and then the input prompt again. So a possible session might look like:

Enter a chemical formula, or just the enter key to quit: 14H Badly formed molecular formula; try again. Enter a chemical formula, or just the enter key to quit: h14 Badly formed molecular formula; try again. Enter a chemical formula, or just the enter key to quit: H14 The molecular weight is 14.1106 Enter a chemical formula, or the enter key to quit: 

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

Concepts of Database Management

Authors: Philip J. Pratt, Mary Z. Last

8th edition

1285427106, 978-1285427102

More Books

Students also viewed these Databases questions

Question

What organizational data will be required from the exercise?

Answered: 1 week ago

Question

Find y'. y= |x + X (x) (x) X 1 02x+ 2x 1 O 2x + 1/3 Ex 2x +

Answered: 1 week ago