Wenn Sie es nicht in einer Stunde lösen können, lösen Sie das Disqualifizierungsproblem 5 des Programmierers in Python (Repost).

Code aus persönlichen Gründen zurückgezogen wird aus verschiedenen Gründen angegeben.

Thema: Fünf Probleme, die einen Programmierer disqualifizieren, wenn sie nicht innerhalb einer Stunde gelöst werden

Python ist erstaunlich, weil es Probleme lösen kann, die ursprünglich Algorithmen berücksichtigen, ohne nachzudenken.

Bitte lassen Sie mich wissen, wie ich es richtig lösen kann, da ich auf die Artikel anderer Leute verweisen möchte!

Ich versuche alle Kombinationen mit "eval", einem System, das stirbt, wenn Sie die Argumente nicht überprüfen.

Zuerst dachte ich, es sei eine Operation mit vier Regeln!

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

Wie man andere Leute löst

Recommended Posts

Wenn Sie es nicht in einer Stunde lösen können, lösen Sie das Disqualifizierungsproblem 5 des Programmierers in Python (Repost).
Python / Wörterbuch> setdefault ()> Hinzufügen, wenn nicht im Wörterbuch
[Hinweis] Project Euler in Python (Problem 1-22)
ABC166 in Python A ~ C Problem
Python> enthält die Buchstaben mm> nicht, wenn "mm" nicht im Text enthalten ist: / print "mm nicht enthalten"
Ali Buch in Python: Seite 42 Münzausgaben
Überprüfen Sie, ob die URL in Python vorhanden ist
Tkinter konnte nicht in Python importiert werden
Lösen Sie das maximale Subarray-Problem in Python
Was tun, wenn "Python nicht konfiguriert" angezeigt wird? Verwenden von PyDev in Eclipse