Concept explainers
# PART 1 - Complete the function below to deocompose
# a compound formula written as a string
# in a dictionary
######################################################
import chemparse
def mol_form(compound_formula):
"""(str) -> dictionary
When passed a string of the compound formula, returns a dictionary
with the elements as keys and the number of atoms of that element as values.
>>> mol_form("C2H6O")
{'C': 2, 'H': 6, 'O': 1}
>>> mol_form("CH4")
{'C': 1, 'H': 4}
"""
print((chemparse.parse_formula(compound_formula)))
mol_form("C2H6O")
mol_form("CH4")
######################################################
# PART 2 - Complete the function below that takes two
# tuples representing one side of a
# chemical equation and returns a dictionary
# with the elements as keys and the total
# number of atoms in the entire expression
# as values.
######################################################
def expr_form(expr_coeffs:tuple, expr_molecs: tuple) -> dict:
"""
(tuple (of ints), tuple (of dictionaries)) -> dictionary
For example, consider the expression 2NaCl + H2 + 5NaF
>>> expr_form((2,1,5), ({"Na":1, "Cl":1}, {"H":2}, {"Na":1, "F":1}))
{'Na': 7, 'Cl': 2, 'H': 2, 'F': 5}
"""
# TODO your code here
expr_Length = len(expr_molecs)
expr_result= {}
for i in range (expr_Length):
coefficient = expr_coeffs[i]
molecules = expr_molecs[i]
for item, num in molecules.items():
if item not in expr_result:
expr_result[item]= coefficient * num
else:
expr_result[item]+= coefficient * num
return expr_result
########################################################
# PART 3 - Check if two dictionaries representing
# the type and number of atoms on two sides of
# a chemical equation contain different
# key-value pairs
########################################################
def find_unbalanced_atoms(reactant_atoms, product_atoms):
"""
(Dict,Dict) -> Set
# TODO your code here
unbalancedAtomsSetObjct = set()
keysObjctOfreactant_atomsDict = reactant_atoms.keys()
for itemOftheReactntAtomsDictnry in keysObjctOfreactant_atomsDict:
if (itemOftheReactntAtomsDictnry not in product_atoms) or (reactant_atoms[itemOftheReactntAtomsDictnry] != product_atoms[itemOftheReactntAtomsDictnry]):
unbalancedAtomsSetObjct.add(itemOftheReactntAtomsDictnry)
keysObjctOfproduct_atomsDict = product_atoms.keys()
for itemOftheProductAtomsDictnry in keysObjctOfproduct_atomsDict:
if (itemOftheProductAtomsDictnry not in reactant_atoms) or (product_atoms[itemOftheProductAtomsDictnry] != reactant_atoms[itemOftheProductAtomsDictnry]):
unbalancedAtomsSetObjct.add(itemOftheProductAtomsDictnry)
return unbalancedAtomsSetObjct
########################################################
# PART 4 - Check if a chemical equation represented by
# two nested tuples is balanced
########################################################
def check_eqn_balance(reactants,products):
"""
(tuple,tuple) -> Set
Check if a chemical equation is balanced. Return any unbalanced
elements in a set.
Both inputs are nested tuples. The first element of each tuple is a tuple
containing the coefficients for molecules in the reactant or product expression.
The second element is a tuple containing strings of the molecules within
the reactant or product expression. The order of the coefficients corresponds
to the order of the molecules. The function returns a set containing any
elements that are unbalanced in the equation.
For example, the following balanced equation
C3H8 + 5O2 <-> 4H2O + 3CO2
would be input as the following two tuples:
reactants: ((1,5), ("C3H8","O2"))
products: ((4,3), ("H2O","CO2"))
>>> check_eqn_balance(((1,5), ("C3H8","O2")),((4,3), ("H2O","CO2")))
set()
Similarly for the unbalanced equation
C3H8 + 2O2 <-> 4H2O + 3CO2
would be input as the following two tuples:
reactants: ((1,2), ("C3H8","O2"))
products: ((4,3), ("H2O","CO2"))
>>> check_eqn_balance(((1,2), ("C3H8","O2")),((4,3), ("H2O","CO2")))
{'O'}
"""
#TODO your code here
(Remaining Part 4 )
Step by stepSolved in 5 steps with 3 images
- Pointers and references are fully equivalent True Falsearrow_forward# PART 1 - Complete the function below to deocompose# a compound formula written as a string# in a dictionary######################################################import chemparse def mol_form(compound_formula): """(str) -> dictionary When passed a string of the compound formula, returns a dictionary with the elements as keys and the number of atoms of that element as values. >>> mol_form("C2H6O") {'C': 2, 'H': 6, 'O': 1} >>> mol_form("CH4") {'C': 1, 'H': 4} """ print((chemparse.parse_formula(compound_formula))) mol_form("C2H6O")mol_form("CH4") ####################################################### PART 2 - Complete the function below that takes two # tuples representing one side of a# chemical equation and returns a dictionary# with the elements as keys and the total# number of atoms in the entire expression# as values.######################################################…arrow_forwardPlease due in C++ If possible can explain what should I put in StudentInfo.h file what in StudentInfo.c Thank youarrow_forward
- Which of the following statements is NOT correct? Group of answer choices C++ language provides a set of C++ class templates to implement common data structures, which is known as Standard Template Library (STL); In STL, a map is used to store a collection of entries that consists of keys and their values. Keys must be unique, and values need not be unique; In STL, a set is used to store a collection of elements and it does not allow duplicates; Both set and map class templates in STL are implemented with arrays.arrow_forwardErlang File -module(exam). -compile(export_all). -include_lib("eunit/include/eunit.hrl"). Part A Implement a function called min which takes a tuple of two numeric values and returns the lower value of the two.Implementation notes:• If needed, use Erlang function guards• Do NOT use the if or case structuresSample calls:> exam:min({3, 4}).3> exam:min({4, 3}).3arrow_forwardPlease complete the following guidelines and hints. Using C language. Please use this template: #include <stdio.h>#define MAX 100struct cg { // structure to hold x and y coordinates and massfloat x, y, mass;}masses[MAX];int readin(void){/* Write this function to read in the datainto the array massesnote that this function should return the number ofmasses read in from the file */}void computecg(int n_masses){/* Write this function to compute the C of Gand print the result */}int main(void){int number;if((number = readin()) > 0)computecg(number);return 0;}Testing your workTypical Input from keyboard:40 0 10 1 11 0 11 1 1Typical Output to screen:CoG coordinates are: x = 0.50 y = 0.50arrow_forward
- In C, in order to do operations to the data being referenced by a pointer you would need to use the (*) operator, which is called ______________ operator.arrow_forwardGame of Hunt in C++ language Create the 'Game of Hunt'. The computer ‘hides’ the treasure at a random location in a 10x10 matrix. The user guesses the location by entering a row and column values. The game ends when the user locates the treasure or the treasure value is less than or equal to zero. Guesses in the wrong location will provide clues such as a compass direction or number of squares horizontally or vertically to the treasure. Using the random number generator, display one of the following in the board where the player made their guess: U# Treasure is up ‘#’ on the vertical axis (where # represents an integer number). D# Treasure is down ‘#’ on the vertical axis (where # represents an integer number) || Treasure is in this row, not up or down from the guess location. -> Treasure is to the right. <- Treasure is to the left. -- Treasure is in the same column, not left or right. +$ Adds $50 to treasure and no $50 turn loss. -$ Subtracts…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education