码迷,mamicode.com
首页 > 编程语言 > 详细

[PYTHON 实作] 算100

时间:2017-09-05 16:58:29      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:问题   计算   try   eva   product   rto   ace   div   log   

问题:编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。

代码:

from itertools import product

NUM = ‘12345678‘  #append 9 when join

def joint(sig_str):
    temp = zip(NUM, sig_str)
    my_repr = ‘‘

    for t in temp:
        ts = t[0] + t[1]
        my_repr += ts

    my_repr += ‘9‘
    return my_repr.replace(‘ ‘, ‘‘)

def print_when_eq100(rep):
    if eval(rep) == 100:
        print rep+‘=100‘


def try_and_print():
    sig_iter = product(‘+- ‘, repeat=8)
    for sig_str in sig_iter:
        print_when_eq100(joint(sig_str))

try_and_print()

 

[PYTHON 实作] 算100

标签:问题   计算   try   eva   product   rto   ace   div   log   

原文地址:http://www.cnblogs.com/Clisa/p/7479205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!