Только что начал изучать Python. Я пытаюсь построить простой алгоритм, который выполняет реакцию химической ионной рекомбинации, т.е. е. KBr + NaCl -> KCl + NaBr.Уточнение кода и как оно работает + как вернуться к началу кода?
В принципе, я прошу пользователя ввести два реагента, такие как KBr и NaCl, и я хочу, чтобы python перестраивал эти два, где первая часть первого реагента согласовывалась со второй частью второго реагента, например KCl и NaBr. Одна из проблем, с которыми я столкнулся, связана с однобуквенными вводами, такими как Калий или Иодид, где я не уверен, как бы я разделил строку, если это KBr или KI. Я попытался сделать это в коде ниже, но я получаю странные результаты, такие как KIBr и Mg.
Наконец, мне было интересно, как я буду возвращать пользователя к началу кода после последней строки? Значение, когда программа выводит данные, как мне заставить ее вернуться в цикл и спросить пользователя снова?
Для справки 'C' = катион и 'N' = анион.
# Asks user for reactants input.
Alpha = raw_input("Alpha reactant = ")
Beta = raw_input("Beta reactant = ")
# Searches for one-letter elements to prevent mixed output.
if str(['K','H']) in a:
Alpha_C = a[0]
else:
Alpha_C = a[:2]
if str(['F','I']) in a:
Alpha_N = a[-1]
else:
Alpha_N = a[2:]
if str(['K','H']) in b:
Beta_C = b[0]
else:
Beta_C = b[:2]
if str(['F','I']) in b:
Beta_N = b[-1]
else:
Beta_N = b[2:]
# Recombines the reacted ions.
Re_Alpha = Alpha_C + Beta_N
Re_Beta = Alpha_N + Beta_C
# Final statement additions, product response, and return to start.
z = "Your products are the following: "; Q = " , "
print z + Re_Alpha + Q + Re_Beta
Где вы определяете 'a' и' b'? – Dannnno
Вы возвращаете его в цикле [используя цикл] (https://docs.python.org/3.4/tutorial/controlflow.html). Я рекомендую сначала прочитать основы Python, прежде чем делать какие-либо более кодировки, поскольку петли являются одним из основных строительных блоков практически любой программы. – TigerhawkT3
@ Dannnno Я думаю, вы заставили меня понять, что я идиот, чтобы не исправить это. Раньше я использовал a и b, но затем менял на альфа-беты и как-то не думал об изменении этих переменных. Спасибо за эту значительную реализацию! – Anakratis