Fonction Eval () qui calcule une chaîne de caractères comme expression en python

Très pratique! Je pensais que c'était un mémo La fonction eval () renvoie le résultat du calcul avec la chaîne de caractères de ** expression ** comme argument.

Comment utiliser

>>> eval("1 + 2")
3
>>> eval("1" "2")
12
>>> eval("1" + "2")
12
>>> eval("1" "+" "2")
3

Quand l'utiliser, je l'ai utilisé dans [Ce problème] d'AtCoder (https://atcoder.jp/contests/arc061/tasks/arc061_a).

Énoncé du problème Vous recevrez la chaîne S, qui se compose uniquement de nombres entre 1 et 9. Dans cette chaîne, vous pouvez mettre un + à certains endroits entre ces caractères. Vous n'êtes pas obligé d'en mettre un. Cependant, le + ne doit pas être consécutif. Toutes les chaînes de caractères créées de cette manière peuvent être considérées comme des formules mathématiques et la somme peut être calculée. Calculez les valeurs de toutes les formules possibles et sortez la somme.


from itertools import product
s = list(input())
n = len(s)
answer = 0
 
pattern = list(product(['+', ''], repeat=n-1))
 
for i in range(2 ** (n-1)):
    formula = s[0]
    for j, k in zip(pattern[i], s[1:]):
        formula += (j + k)
    answer += eval(formula)
 
print(answer)

Recommended Posts

Fonction Eval () qui calcule une chaîne de caractères comme expression en python
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Une fonction qui mesure le temps de traitement d'une méthode en python
Récupérer l'appelant d'une fonction en Python
[Python] Une fonction qui recherche la chaîne de caractères entière avec une expression régulière et obtient toutes les chaînes de caractères correspondantes.
Insérer un objet dans une chaîne en Python
[Python] J'ai essayé d'obtenir le nom du type sous forme de chaîne de caractères à partir de la fonction type
Vérifiez si la chaîne est un nombre en python
#Une fonction qui renvoie le code de caractère d'une chaîne de caractères
Que signifie le dernier () dans une fonction en Python?
Créer une fonction en Python
Remarque: Signification de spécifier uniquement * (astérisque) comme argument dans la définition de fonction de Python
[Python] Ne laissez que les éléments commençant par une chaîne de caractères spécifique dans le tableau
Découvrez la largeur apparente d'une chaîne en python
Expression Lambda (correction) qui crée un index (dictionnaire à clé de membre) des membres de l'objet collecté en python
[C / C ++] Passez la valeur calculée en C / C ++ à une fonction python pour exécuter le processus et utilisez cette valeur en C / C ++.
[Python] Programmation pour trouver le nombre de a dans une chaîne de caractères qui se répète un nombre spécifié de fois.
[Python] Faire de la fonction une fonction lambda
Créer une chaîne aléatoire en Python
Créer une instance d'une classe prédéfinie à partir d'une chaîne en Python
Jouez des sons en Python en supposant que le clavier est un clavier de piano
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
Format lors du passage d'une longue chaîne comme argument de python
python: utilisez les variables définies dans le format de chaîne telles quelles
Qu'y a-t-il dans le paramètre? Modifier la chaîne et l'expression
Utiliser l'impression dans l'expression lambda Python2
Précautions lors du décapage d'une fonction en python
Ecrire le test dans la docstring python
Prenez la somme logique de List en Python (fonction zip)
Générer une classe à partir d'une chaîne en Python
[Python] Un programme qui arrondit le score
[Python] Un programme qui calcule le nombre de segments de chocolat qui remplissent les conditions
Si vous voulez un singleton en python, considérez le module comme un singleton
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Je veux colorer une partie de la chaîne Excel avec Python
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
[Python] Note: Fonction auto-conçue pour trouver la zone de distribution normale
Erreur lors de l'appel du module tkinter dans un éditeur de texte ne fonctionne pas comme prévu
Comment saisir une chaîne de caractères en Python et la sortir telle quelle ou dans la direction opposée.
Dessiner un graphique d'une fonction quadratique en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Un mémo que j'ai écrit un tri rapide en Python
Comment incorporer des variables dans des chaînes python
Un programme qui supprime les instructions en double en Python
Copiez la liste en Python
Publier un module Python qui calcule les éléments météorologiques
Installez le package python dans un environnement hors ligne
Définir la limite supérieure du nombre de répétitions de fonctions récursives en Python
[Python] Un programme qui calcule la différence entre les valeurs totales diagonales
[Python] Un programme qui calcule le nombre de mises à jour des enregistrements les plus élevés et les plus faibles
Créer un objet datetime à partir d'une chaîne en Python (Python 3.3)
[Python] Une fonction qui aligne la largeur en insérant un espace dans le texte qui est un mélange de pleine largeur et demi-largeur.
Sortie sous la forme d'un tableau python