Как добавить бесконечное количество переменных в Python - PullRequest
0 голосов
/ 10 июля 2020

Немного контекста для этого: в следующем году я собираюсь учиться в неполной средней школе и подумал, что было бы здорово написать уравнения для того, что я буду делать в школе. Я сделал уравнения для алгебры (решение для x в уравнении quadrati c и т. Д.), И я подумал, что было бы круто написать код для химии. Я пытаюсь понять, как уравновесить уравнения, и я думал, что могу ввести все суммы, и, используя определенный ключ (скажем, пробел), он перейдет к следующей части химического уравнения. Вот в основном то, о чем я думал.

reac1_chem1 = input("Enter the first chemical: ")
reac1_amount1 = input("Enter the amount of " + reac1_chem1 + " atoms: )
reac1_chem2 = input("Enter the second chemical: ")
reac1_amount2 = input("Enter the amount of " + reac1_chem2 + " atoms: )

Я хочу продолжать этот процесс, пока не будет введено пространство как химическое вещество. Как сделать этот процесс бесконечным? Является ли создание переменных путем к go или мне следует составить список? Мы ценим любые предложения! Сообщите мне, если это вас запутало, и я могу попытаться прояснить это для вас. Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Отлично бы словарь:

chemicals = dict()

index = 1
while True:
    chemical = input(f"Enter chemical {index}: ")

    if chemical == " ":
        break
    else:
        chemicals[chemical] = input("Enter the amount: ")
    
    index += 1

print(chemicals)
0 голосов
/ 10 июля 2020

Вы можете попытаться сохранить информацию в словаре словарей, например, следующим образом:

dct = {"ReactionNameOrID": {"ChemicalName1":"ATOMS", "ChemicalName":"ATOMS2"}}

Затем вы можете получить доступ к информации следующим образом:

dct.get("ReactionNameOrID").get("ChemicalName1")
#which will return: "ATOMS"

Затем вы могли бы используйте класс для хранения всего внутри, включая функции.

class Reactions():

    #initialize the dictionary
    def __init__(self):
        self.dict_reactions = {}

    #add a function to the class to add more reactions
    def add_chemical(self):
        reaction_name = input("Enter the reaction name/id: ")
        dict_chemicals = input("Enter the chemicals + atoms as dictionary: ")
        self.dict_reactions[reaction_name] = dict_chemicals

MyReactions = Reactions()
# Enter the reaction name/id: FirstReaction
# Enter the reaction name/id: {"H":100, "O":500}
MyReactions.add_chemical()
print(MyReactions.dict_reactions)
#{'FirstReaction': '{"H":100, "O":500}'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...