Maison >développement back-end >Tutoriel Python >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.
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 deDans 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)
The result of the given expression: 11.0
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 deDans 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)
The result of given expression 7.0
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 deDans 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)
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!