最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運(yùn)算式的示例

 更新時(shí)間:2017年11月03日 08:41:56   作者:wkcagd  
下面小編就為大家?guī)硪黄狿ython實(shí)現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運(yùn)算式的示例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

問題:

編寫一個(gè)在1,2,…,9(順序不能變)數(shù)字之間插入+或-或什么都不插入,使得計(jì)算結(jié)果總是100的程序,并輸出所有的可能性。例如:1 + 2 + 34–5 + 67–8 + 9 = 100。

from functools import reduce
 
operator = { 
 1: '+', 
 2: '-', 
 0: '' 
} 
 
base = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] 
 
def isHundred(num): 
 
 #轉(zhuǎn)化為8位3進(jìn)制數(shù),得到運(yùn)算符數(shù)組 
 arr = [] 
 for index in range(8): 
  index = 7 - index 
  arr.append(num // (3 ** index)) 
  num -= (num // (3 ** index)) * (3 ** index) 
 arr = map(lambda x: operator[x], arr) 
 
 #合并得到運(yùn)算式 
 formula = reduce(lambda x, y: x + y, zip(base, arr)) 
 
 formula = list(formula) 
 formula.append('9') 
 
 formula = ''.join(formula) 
 #計(jì)算運(yùn)算式結(jié)果 
 res = eval(formula) 
 return res, formula 
 
 
if __name__ == '__main__': 
 #所有可能的結(jié)果 
 total = 3 ** 8
 for i in range(total): 
  res, formula = isHundred(i) 
  if res == 100: 
   print(formula+' = 100')

 結(jié)果:

/usr/bin/python3.5 /home/kang/workspace/Qt3d/test.py 
123+45-67+8-9 = 100
123+4-5+67-89 = 100
123-45-67+89 = 100
123-4-5-6-7+8-9 = 100
12+3+4+5-6-7+89 = 100
12+3-4+5+67+8+9 = 100
12-3-4+5-6+7+89 = 100
1+23-4+56+7+8+9 = 100
1+23-4+5+6+78-9 = 100
1+2+34-5+67-8+9 = 100
1+2+3-4+5+6+78+9 = 100

以上這篇Python實(shí)現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運(yùn)算式的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

泗水县| 正镶白旗| 岐山县| 台湾省| 平潭县| 金阳县| 九江市| 札达县| 镇平县| 东辽县| 台湾省| 武邑县| 堆龙德庆县| 股票| 瓮安县| 台前县| 南昌市| 榕江县| 永嘉县| 门源| 松溪县| 沾益县| 蕉岭县| 奎屯市| 富裕县| 宜黄县| 电白县| 南部县| 永川市| 广元市| 青田县| 灵丘县| 蛟河市| 高雄市| 临澧县| 枣阳市| 平邑县| 和龙市| 屯昌县| 望城县| 二连浩特市|