Periodieke tshirt#
Je kunt tegenwoordig T-shirts kopen met teksten erop die bestaan uit de symbolen van elementen van het periodiek systeem.
In deze opgave moet je nagaan of woorden kunnen worden samengesteld met behulp van de elementen.
Schrijf de functie periodiek_tshirt(woord)
dat een woord als string ontvangt en teruggeeft of het mogelijk is om met de
eerste 118 elementen van het periodiek systeem dit woord samen te stellen.
assert periodiek_tshirt("spuwers") == True
assert periodiek_tshirt("uitdaging") == False
assert periodiek_tshirt("kranten") == True
Elementen hebben 1 of 2 letters. Soms zijn er dan twee opties mogelijk. Bijvoorbeeld bij "kranten"
is in het begin een optie om de K van Kalium te gebruiken of de Kr van Krytpon. Maar als de Kr wordt gekozen levert het een probleem op, want er is geen enkel element met als afkorting A of An. Daarintegen kan er wel een oplossing gevonden worden als eerst K wordt gekozen, namelijk K + Ra + N + Te + N
Lijst van elementen dat gebruikt kan worden:
elements = ["H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P",
"S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn",
"Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru",
"Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce",
"Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf",
"Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn",
"Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm",
"Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh",
"Fl", "Mc", "Lv", "Ts", "Og"]
(Informatica Olympiade 20-21)