Maison  >  Article  >  développement back-end  >  Programme Python pour calculer des opérations arithmétiques à partir de chaînes

Programme Python pour calculer des opérations arithmétiques à partir de chaînes

王林
王林avant
2023-08-19 13:21:191967parcourir

Programme Python pour calculer des opérations arithmétiques à partir de chaînes

Les opérations arithmétiques sont des calculs mathématiques effectués sur des types de données numériques. Voici les opérations arithmétiques autorisées par Python.

  • Ajout (+)

  • Soustraction (-)

  • Multiplication (*)

  • Division (/)

  • Division étage (//)

  • Module (%)

  • Opération exponentielle (**)

Il existe plusieurs façons d'effectuer des opérations arithmétiques à partir de chaînes. Regardons-les un par un.

Utilisez la fonction eval()

En Python, la fonction eval() évalue une expression passée sous forme de chaîne et renvoie le résultat. Nous pouvons utiliser cette fonction pour calculer des opérations arithmétiques dans des chaînes.

La traduction chinoise de

Exemple

est :

Exemple

Dans cette méthode, la fonction eval() évalue l'expression "2 + 3 * 4 - 6 / 2" et renvoie le résultat, qui est ensuite stocké dans la variable "result".

def compute_operation(expression):
   result = eval(expression)
   return result
expression = "2 + 3 * 4 - 6 / 2"
result = compute_operation(expression)
print("The result of the given expression:",result)

Sortie

The result of the given expression: 11.0

Mettre en œuvre l'analyse et l'évaluation arithmétiques

Si nous souhaitons avoir plus de contrôle sur le processus d'analyse et d'évaluation, nous pouvons implémenter notre propre logique d'analyse et d'évaluation arithmétique. Cette approche consiste à diviser une expression de chaîne en opérandes et opérateurs individuels, à les analyser et à effectuer des opérations arithmétiques en conséquence.

La traduction chinoise de

Exemple

est :

Exemple

Dans cet exemple, l'expression est divisée en jetons individuels à l'aide de la méthode split(). Ces jetons sont ensuite analysés et évalués un par un sur la base des opérateurs arithmétiques spécifiés dans le dictionnaire des opérateurs. Le résultat est calculé en appliquant l'opérateur approprié au résultat accumulé et à l'opérande actuel.

def compute_operation(expression):
   operators = {'+': lambda x, y: x + y,
                  '-': lambda x, y: x - y,
                  '*': lambda x, y: x * y,
                  '/': lambda x, y: x / y}
   tokens = expression.split()
   result = float(tokens[0])
   for i in range(1, len(tokens), 2):
      operator = tokens[i]
      operand = float(tokens[i+1])
      result = operators[operator](result, operand)
   return result
expression = "2 + 3 * 4 - 6 / 2"
result = compute_operation(expression)
print("The result of given expression",result)

Sortie

The result of given expression 7.0

Utiliser le module opérateur

En Python, nous avons le module opérateur, qui fournit des fonctions correspondant aux opérateurs Python intégrés. Nous pouvons utiliser ces fonctions pour effectuer des opérations arithmétiques basées sur des opérateurs dans des expressions de chaîne.

La traduction chinoise de

Exemple

est :

Exemple

Dans cet exemple, nous définissons un dictionnaire qui mappe les opérateurs à leurs fonctions correspondantes dans le module opérateur. Nous divisons l'expression en jetons où les opérateurs et les opérandes sont séparés. Nous parcourons ensuite ces jetons, en appliquant la fonction d'opérateur correspondante au résultat et à l'opérande suivant.

import operator
expression = "2 + 3 * 4"
ops = {
   '+': operator.add,
   '-': operator.sub,
   '*': operator.mul,
   '/': operator.truediv,
}
tokens = expression.split()
result = int(tokens[0])
for i in range(1, len(tokens), 2):
   operator_func = ops[tokens[i]]
   operand = int(tokens[i + 1])
   result = operator_func(result, operand)
print("The arithmetic operation of the given expression:",result)

Sortie

The arithmetic operation of the given expression: 20

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer