# Define the atom symbols and charges
atom_symbols = ['Si'] * Si_atoms + ['O'] * O_atoms + \
['Fe'] * Fe2_atoms + ['Fe'] * Fe3_atoms + \
['Al'] * Al_atoms + ['Ca'] * Ca_atoms + \
['Ti'] * Ti_atoms + ['Mg'] * Mg_atoms
atom_charges = {'Si': 1.89, 'O': -0.945, 'Fe': 0.0, 'Al': 1.4175,
'Ca': 0.945, 'Ti': 1.89, 'Mg': 0.945}
# Assign different charges to Fe2+ and Fe3+
charges = []
for i, symbol in enumerate(atom_symbols):
if symbol == 'Fe':
if i < Fe2_atoms:
charges.append(0.945) # Charge for Fe2+
else:
charges.append(1.4175) # Charge for Fe3+
else:
charges.append(atom_charges[symbol])
charges = [atom_charges[symbol] for symbol in atom_symbols]
问题描述:在这段代码中,for语句没有生效,没有成功给二价铁和三价铁赋不同电荷,是为什么?如何修改?
不知道你这个问题是否已经解决, 如果还没有解决的话:题8: