Je travaille à rebours sur ma tâche actuelle. J'ai des données au format:

qn1 = (["123 + 12", "234 + 23"], True)

J'ai besoin de lire les chaînes d'équations et d'analyser les mots individuels. Mon problème est que je ne peux pas diviser les chaînes dans la liste, car la liste est dans un tuple.

Ma sortie souhaitée serait:

Image is the output of >>> print(" 123     234\n""+ 12    + 23\n""====    ====").

Ma recherche jusqu'à présent m'a conduit à;

Cette autre question s / flow; mais ce n'est pas ce que je recherche

S'il vous plaît, ne résolvez pas tout le problème pour moi. J'aime le défi (et il fait partie de mon examen freecodecamp)

J'ai juste besoin de quelques pointeurs pour me décoller.

J'ai trouvé que ma question est différente de la question Comment puis-je diviser et analyser une chaîne en Python? en ce que je ne divise pas simplement un tuple, je divise une liste à l'intérieur d'un tuple, (pour diviser davantage la chaîne à l'intérieur par des espaces afin que je puisse sélectionner les nombres et "+" à l'intérieur pour les organiser.)

0
Erick Kieti 20 oct. 2020 à 18:53

2 réponses

Meilleure réponse

Vous allez vouloir diviser les chaînes en listes afin de pouvoir les mettre dans des instructions d'impression

J'espère que cela devrait vous interpeller un peu: ^)

qn1 = (["123 + 12", "234 + 23"], True)

eq1 = []
eq2 = []

#try to get a list of the parts of that equation. E.g ["567", "+", "56"]

print(f"{eq1[0]}     {eq2[0]}")
print(f"{eq1[1]} {eq1[2]}   {eq2[1]} {eq2[2]}")
print(f"====    ====")
0
Ironkey 20 oct. 2020 à 17:03

Commencez par récupérer les données du tuple.

>>> qn1 = (["123 + 12", "234 + 23"], True)
>>> equations, flag = qn1
>>> equations
['123 + 12', '234 + 23']

Ou vous pouvez utiliser un index dans le tuple:

>>> qn1 = (["123 + 12", "234 + 23"], True)
>>> equations = qn1[0]
>>> equations
['123 + 12', '234 + 23']

Ensuite, divisez l'équation en parties:

>>> for equation in equations:
...     tokens = equation.split()
...     print(tokens)
... 
['123', '+', '12']
['234', '+', '23']

Pour commencer à analyser les expressions mathématiques, voir:
Évaluation d'une expression mathématique dans une chaîne

Pour des idées sur le formatage de la sortie, voir:
Créer une belle sortie de colonne en python

1
Christopher Peisert 20 oct. 2020 à 17:32