Answer:
from enum import Enum
 
class Material(Enum):
 GoldPlated = 1
 SolidGold = 2
 Copper = 3
def calculatePrice(material: Material, units):
 match material:
 case Material.GoldPlated:
 return 50.0+units*7
 case Material.SolidGold:
 return 100.0+units*10
 case _:
 raise ValueError('Unknown material '+material.name)
try:
 print("gold plated with 12 units: ${:.2f}".format(calculatePrice(Material.GoldPlated, 12)))
 print("solid gold with 10 units: ${:.2f}".format(calculatePrice(Material.SolidGold, 10)))
 print("solid gold with 5 units: ${:.2f}".format(calculatePrice(Material.SolidGold, 5)))
 print("copper with 3 units: ${:.2f}".format(calculatePrice(Material.Copper, 3)))
except Exception as err:
 print(err)
 
Step-by-step explanation:
I used an enum and exception handling here to make it more interesting.