-
Notifications
You must be signed in to change notification settings - Fork 0
/
element.py
56 lines (44 loc) · 2.25 KB
/
element.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
pierwiastki = {
"H": 1, "He": 2, "Li": 3, "Be": 4, "B": 5, "C": 6, "N": 7,
"O": 8, "F": 9, "Ne": 10, "Na": 11, "Mg": 12, "Al": 13,
"Si": 14, "P": 15, "S": 16, "Cl": 17, "Ar": 18, "K": 19,
"Ca": 20, "Sc": 21, "Ti": 22, "V": 23, "Cr": 24, "Mn": 25,
"Fe": 26, "Co": 27, "Ni": 28, "Cu": 29, "Zn": 30, "Ga": 31,
"Ge": 32, "As": 33, "Se": 34, "Br": 35, "Kr": 36, "Rb": 37,
"Sr": 38, "Y": 39, "Zr": 40, "Nb": 41, "Mo": 42, "Tc": 43,
"Ru": 44, "Rh": 45, "Pd": 46, "Ag": 47, "Cd": 48, "In": 49,
"Sn": 50, "Sb": 51, "Te": 52, "I": 53, "Xe": 54, "Cs": 55,
"Ba": 56, "La": 57, "Ce": 58, "Pr": 59, "Nd": 60, "Pm": 61,
"Sm": 62, "Eu": 63, "Gd": 64, "Tb": 65, "Dy": 66, "Ho": 67,
"Er": 68, "Tm": 69, "Yb": 70, "Lu": 71, "Hf": 72, "Ta": 73,
"W": 74, "Re": 75, "Os": 76, "Ir": 77, "Pt": 78, "Au": 79,
"Hg": 80, "Tl": 81, "Pb": 82, "Bi": 83, "Po": 84, "At": 85,
"Rn": 86, "Fr": 87, "Ra": 88, "Ac": 89, "Th": 90, "Pa": 91,
"U": 92, "Np": 93, "Pu": 94, "Am": 95, "Cm": 96, "Bk": 97,
"Cf": 98, "Es": 99, "Fm": 100, "Md": 101, "No": 102, "Lr": 103,
"Rf": 104, "Db": 105, "Sg": 106, "Bh": 107, "Hs": 108, "Mt": 109,
"Ds": 110, "Rg": 111, "Cn": 112, "Nh": 113, "Fl": 114, "Mc": 115,
"Lv": 116, "Ts": 117, "Og": 118
}
suma_mas_atomowych = 0
aktualne_pierwiastki = input("Podaj aktualne pierwiastki (np: Zn, C, H): ")
pierwiastek_lista = aktualne_pierwiastki.split(',')
for aktualne_pierwiastki in pierwiastek_lista:
aktualne_pierwiastki = aktualne_pierwiastki.strip()
if aktualne_pierwiastki in pierwiastki:
suma_mas_atomowych += pierwiastki[aktualne_pierwiastki]
print("Suma mas atomowych wynosi:", suma_mas_atomowych)
potrzebna_liczba = 200 - suma_mas_atomowych
print("Potrzebna liczba:", potrzebna_liczba)
znalezione_pierwiastki = []
posortowane_pierwiastki = sorted(pierwiastki.items(), key=lambda x: x[1], reverse=True)
for pierwiastko, masa in posortowane_pierwiastki:
if potrzebna_liczba <= 0:
break
if potrzebna_liczba - masa >= 0:
znalezione_pierwiastki.append(pierwiastko)
potrzebna_liczba -= masa
if znalezione_pierwiastki:
print("Najlepsza kombinacja pierwiastków:", ', '.join(znalezione_pierwiastki))
else:
print("Nie znaleziono odpowiedniej kombinacji pierwiastków.")