Elemente in Deinem Namen

by noobnaldo in Circuits > Gadgets

201 Views, 0 Favorites, 0 Comments

Elemente in Deinem Namen

Breaking-Bad-Logo-262805.jpeg

Ich habe ein kurzes Python Skript geschrieben, um schnell die Elemente in deinem Namen zu finden, wie es in der Serie "Breaking Bad" der Fall ist.

Supplies

Computer

Python IDE

Easy Programming

Zuerst werden die beiden Arrays initiiert, die die Elemente beinhalten:

kurz = ["Ac","Ag","Al","Am","Ar","As","At","Au","B","Ba","Be","Bh","Bi","Bk","Br","C","Ca","Cd","Ce","Cf","Cl","Cm","Cn","Co","Cr","Cs","Cu","Db","Ds","Dy","Er","Es","Eu","F","Fe","Fl","Fm","Fr","Ga","Gd","Ge","H","He","Hf","Hg","Ho","Hs","I","In","Ir","K","Kr","La","Li","Lr","Lu","Lv","Mc","Md","Mg","Mn","Mo","Mt","N","Na","Nb","Nd","Ne","Nh","Ni","No","Np","O","Og","Os","P","Pa","Pb","Pd","Pm","Po","Pr","Pt","Pu","Ra","Rb","Re","Rf","Rg","Rh","Rn","Ru","S","Sb","Sc","Se","Sg","Si","Sm","Sn","Sr","Ta","Tb","Tc","Te","Th","Ti","Tl","Tm","Ts","U","V","W","Xe","Y","Yb","Zn","Zr"]
elem = ["Actinium","Silber","Aluminium","Americium","Argon","Arsen","Astat","Gold","Bor","Barium","Beryllium","Bohrium","Bismut","Berkelium","Brom","Kohlenstoff","Calcium","Cadmium","Cer","Californium","Chlor","Curium","Copernicium","Cobalt","Chrom","Caesium","Kupfer","Dubnium","Darmstadtium","Dysprosium","Erbium","Einsteinium","Europium","Fluor","Eisen","Flerovium","Fermium","Francium","Gallium","Gadolinium","Germanium","Wasserstoff","Helium","Hafnium","Quecksilber","Holmium","Hassium","Iod","Indium","Iridium","Kalium","Krypton","Lanthan","Lithium","Lawrencium","Lutetium","Livermorium","Moscovium","Mendelevium","Magnesium","Mangan","Molybdän","Meitnerium","Stickstoff","Natrium","Niob","Neodym","Neon","Nihonium","Nickel","Nobelium","Neptunium","Sauerstoff","Oganesson","Osmium","Phosphor","Protactinium","Blei","Palladium","Promethium","Polonium","Praseodym","Platin","Plutonium","Radium","Rubidium","Rhenium","Rutherfordium","Roentgenium","Rhodium","Radon","Ruthenium","Schwefel","Antimon","Scandium","Selen","Seaborgium","Silicium","Samarium","Zinn","Strontium","Tantal","Terbium","Technetium","Tellur","Thorium","Titan","Thallium","Thulium","Tennessine","Uran","Vanadium","Wolfram","Xenon","Yttrium","Ytterbium","Zink","Zirconium"]

Danach folgt das speichern deines Namens in eine Variable. Über ein Input-Feld wird dein Name abgefragt.

name = input("Dein Name?")
print("Folgende Elemente sind in deinem Namen:")

Der Name wird mit der Funktion "list()" in einzelne Buchstaben aufgeteilt.

buchst = list(name)

Die Variable "store" wird gebraucht, damit ein Buchstabe nicht zweimal in der Liste der Elemente erscheint. Z.B. bei "Bob" würde zwei Mal "Bor" als Output erscheinen.

store = []

Zuerst vergleichen wir jeden einzelnen Buchstaben des Namens mit allen Einträgen in der Liste der Elemente (kurz[]).

Für jeden Buchstaben muss geschaut werden, ob er gleich einem Eintrag in der Liste ist und nicht in der Variable "store" bereits vorhanden ist. Falls beides wahr ist, dann wird der Buchstabe des Namens der einem Element entspricht, in die Variable "store" gespeichert und das Element ausgegeben. Die Methode "lower()" hilft dabei, die Gross-/Kleinschreibung zu ignorieren.

#single letter elements
for b in range(len(buchst)):
    for k in range(len(kurz)):
        if (buchst[b].lower()==kurz[k].lower() and (buchst[b].lower() not in store)):
            store.append(buchst[b].lower())
            print(kurz[k],elem[k])

Jetzt wiederholt es sich für zwei Buchstaben. Eine neue Variable "bnew" speichert jeweils die ersten zwei Buchstaben deines Namens, dann die nächsten zwei. Z.B. Hans wird zu "ha", dann zu "an" und dann zu "ns".

#two letter elements
for b in range(len(buchst)):
    if (b+1)<len(buchst):
        bnew = buchst[b]+buchst[b+1]
        for k in range(len(kurz)):
            if (bnew.lower()==kurz[k].lower()):
                print(kurz[k],elem[k])

Der Output sieht wie folgt aus (im Jupyter Notebook):

Dein Name?bryan cranston
Folgende Elemente sind in deinem Namen:
B Bor
Y Yttrium
N Stickstoff
C Kohlenstoff
S Schwefel
O Sauerstoff
Br Brom
Cr Chrom
Ra Radium

Downloads

Fazit

Das Programm ist weder Ressourcen-schonend noch effizient programmiert. Quick and Dirty zum Ziel ;)