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.