def lexemize_Ari_Exp():
arithmeticExpression = input("Write an Arithmetic Expression: ")
list_Of_Arit_Exp = []
for x in arithmeticExpression:
list_Of_Arit_Exp.append(x)
print(list_Of_Arit_Exp)
lexemize_Ari_Exp()
#Input: x + 1#Output: ['x', ' ', '+', ' ', '1']
3 Réponses :
Si chaque élément de l'expression est divisé par un espace, vous pouvez simplement utiliser la fonction split() :
Write an Arithmetic Expression: x + 1 ['x', '+', '1']
Exemple de sortie:
def lexemize_Ari_Exp():
arithmeticExpression = input("Write an Arithmetic Expression: ")
list_Of_Arit_Exp = arithmeticExpression.split()
print(list_Of_Arit_Exp)
lexemize_Ari_Exp()
Vous pouvez simplement ajouter une instruction if comme celle-ci:
for x in arithmeticExpression:
if not x == ' ':
list_Of_Arit_Exp.append(x)
Cela est dû au fait que votre boucle for itère sur chaque caractère de la chaîne d'entrée et que x représente simplement le caractère dans chaque itération.
list = [0, 1, 0] print (remove (list, 0))#Remove all the 0 from the list
Quelle est exactement la sortie que vous recherchez?
Ajoutez simplement la fonction .split () à la fin de votre saisie et supprimez le reste.