Quick actions

cmd+k|ctrl+k

Navigation

Languages

Problem Menghitung Atom

Snippet info

Language

Python

Visibility

public

Author

choerulassyiva

Created

2023-10-23T01:52:57.271475Z

Updated

2023-10-23T01:52:57.271475Z

# Subproblem 1: Menghitung Atom

def hitung_atom(reaksi):
    elemen = {}
    for mol in reaksi:
        for e, jml in mol.items():
            if e in elemen:
                elemen[e] += jml
            else:
                elemen[e] = jml
    return elemen

# Subproblem 2: Mengecek Persamaan Reaksi

def cek_persamaan(reaktan, produk):
    return hitung_atom(reaktan) == hitung_atom(produk)

# Subproblem 3: Menghitung Hasil Reaksi

def hasil_reaksi(reaktan, produk):
    if cek_persamaan(reaktan, produk):
        return hitung_atom(reaktan)
    return "Persamaan reaksi tidak seimbang"

# Subproblem 4: Melengkapi Koefisien Reaktan dan Produk

def lengkapi_koef(reaktan, produk):
    atom_reaktan = hitung_atom(reaktan)
    atom_produk = hitung_atom(produk)
    for i, mol in enumerate(reaktan):
        for e, jml in mol.items():
            koef = atom_produk[e] // atom_reaktan[e]
            reaktan[i] = {k: v * koef for k, v in mol.items()}
    for i, mol in enumerate(produk):
        for e, jml in mol.items():
            koef = atom_reaktan[e] // atom_produk[e]
            produk[i] = {k: v * koef for k, v in mol.items()}
    return reaktan, produk
INFO