Si vous ne pouvez pas le résoudre en une heure, résolvez le problème de disqualification du programmeur 5 en Python (republication)

Code retiré pour des raisons personnelles sera donné pour diverses raisons.

Thème: Cinq problèmes qui disqualifieront un programmeur s'ils ne sont pas résolus dans l'heure

Python est incroyable car il peut résoudre des problèmes qui considèrent à l'origine des algorithmes sans réfléchir.

S'il vous plaît laissez-moi savoir comment le résoudre correctement car je voudrais faire référence aux articles d'autres personnes!

Ce que je fais, c'est essayer toutes les combinaisons avec ʻeval`, qui est un système qui mourra si vous négligez de vérifier les arguments.

Au début, je pensais que c'était une opération à quatre règles!

q5.py


import itertools as it

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
num_str = map(str, nums)
#ops = ["+", "-", "/", "*", ""]
ops = [" + ", " - ", ""]

opss = it.tee(ops, len(nums) - 1)

for op_c in it.product(*opss):
    evl = num_str[0]
    for idx, op in enumerate(op_c):
        evl += op + num_str[idx+1]
    rst = eval(evl)
    if rst == 100:
        print evl

Comment résoudre d'autres personnes

Recommended Posts

Si vous ne pouvez pas le résoudre en une heure, résolvez le problème de disqualification du programmeur 5 en Python (republication)
Python / dictionary> setdefault ()> Ajouter si pas dans le dictionnaire
[Note] Projet Euler en Python (problème 1-22)
ABC166 en Python A ~ C problème
python> n'inclut pas les lettres mm> si "mm" pas dans le texte: / print "sans mm"
Livre Ali en python: page 42 numéros
Vérifiez si l'URL existe en Python
Tkinter n'a pas pu être importé en Python
Résolvez le problème maximum de sous-tableau en Python
Que faire si vous obtenez «Python non configuré». Utilisation de PyDev dans Eclipse