Мне нужна помощь с кодом, который я написал для расчета плотности с использованием стехиометрии. При каждом выполнении он создает уникальный текстовый файл и записывает стехиометрию, соответствующую плотности, в каждом уникальном текстовом файле. Так что, как только он выполняется в первый раз, «stoich» изменится на 2, затем на 4 и так далее. Каждый текстовый файл, который он записывает, будет иметь различные значения «stoich» с вычисленной плотностью.
den_U = 19.1 #density of uranium 238 g/cc
den_C = 2.26 #density of carbon 12 g/cc
molm_U = 238.02 #molar mass of Uranium g/mol
molm_C = 12.0107 #molar mass of Carbon g/mol
stoich = [1,2,4,10,100,200,500,1000,2500,3000,4000]
for i in stoich:
input = 'density_stoichiometry_'+str(d)+'_'
file = open(input + '.txt', 'w')
T_C = molm_C*stoich # calculates total mass of carbon
T_com = T_C + molm_U # calculates total mass of chemical compound
per_C = T_C/T_com # calculates percent of carbon in compound
per_U = molm_U/T_com #calculates the percent of uranium in compound
den_com = den_U*per_U + den_C*per_C # calculates the total density
d = stoich
file.write('density='+str(den_com)+ '\n')
file.write('stoichiometry=' +str(d)+ '\n')
file.close()
stoich = 1
Код дает мне ошибку в 'T_C = molm_C * stoich', говоря, что я не могу умножить последовательность на не-int типа 'float'. Я предполагаю, что у меня будет та же самая проблема в 'd = stoich'. Если кто-то может помочь, я был бы признателен.