stone1 发表于 2017-6-22 09:50:08

谢谢

yangzhijian 发表于 2017-8-25 12:36:24

{:5_92:}

张大象 发表于 2017-9-18 16:43:29

import itertools as t
count = 0
for i in t.permutations(range(1,10),9):
    a = list(i)       
    if sum(a) ==sum(a) == sum(a) == sum(a) == sum(a) == sum(a) == sum(a) == sum(a):
      count+=1
      print('['+str(count)+']')
      print(' ',a)
      print(' ',a)
      print(' ',a)

renze 发表于 2017-9-18 20:53:44

学习学习

gausser 发表于 2017-9-22 21:49:17


# For import permutations
import itertools
import numpy

s = range(1, 10)
# lst is full arrangement of : 9!
lst = list(itertools.permutations(s, 9))
count = 0

for FullArrange in lst:
    if FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15 and \
       FullArrange + FullArrange + FullArrange == 15:
       TmpArray = numpy.array(FullArrange)
       TmpArray = TmpArray.reshape((3, 3)) # Change the shape of the array: 3 rows and 3 columns
       count += 1
       print "#" * 20
       print FullArrange
       print TmpArray
      
print "The total number is:", count

石小龙 发表于 2017-11-20 17:38:25

这题有这么难吗,代码都这么长,算了,太难我就不做了,哈

shigure_takimi 发表于 2017-12-2 00:59:06

allFifteen = [ for i in range(1,10) for j in range(1,10) for k in range(1,10) \
            if i!=j and j!=k and k!=i and i+j+k==15]

jiugongge = [ for i in allFifteen for j in allFifteen for k in allFifteen \
             if j not in i and j not in i and j not in i and \
             j not in k and j not in k and j not in k and \
             i not in k and i not in k and i not in k and \
             i+j+k == i+j+k == i+j+k == 15 and\
             i+j+k == i+j+k == 15]

for i in jiugongge:
    print('-------------------------')
    for j in i:
      print(j)


# 很多if,很暴力,但结果出来了。
>>>
-------------------------



-------------------------



-------------------------



-------------------------



-------------------------



-------------------------



-------------------------



-------------------------


victor.xu 发表于 2018-3-6 16:08:09

看看。

瞬秒爆加速 发表于 2018-3-10 16:01:46

a = [(i,ii,iii) for i in range(1,10) for ii in range(1,10) for iii in range(1,10) if i!=ii and ii!=iii and i!=iii]
for x in a:
    for y in a:
      if (x in y) or (x in y) or (x in y):
            continue
      for z in a:
            if (x in z) or (x in z) or (x in z) or (y in z) or (y in z) or (y in z):
                continue
            if x+y+z ==x+y+z == x+y+z == sum(x) ==sum(y) ==sum(z) == x+y+z == x+y+z:
                print("-----")
                print(x)
                print(y)
                print(z)

大头目 发表于 2018-4-3 15:40:01

#学习了

import itertools as t
a = t.permutations(range(1,10),9)
for i in a:
    i = list(i)
    if i+i+i==15 and i+i+i==15 and i+i+i==15 and i+i+i==15:
      if i+i+i==15 and i+i+i==15:
            print (i)



import numpy
from itertools import permutations as pt
comb = pt(range(1,10), 9)

def check(lst):
    return True if sum(lst) == sum(lst) == sum(lst) == sum(lst) \
                                == sum(lst) == sum(lst) == sum(lst) == sum(lst) else False

i = 0
for each in comb:
    if check(each):
      c = numpy.array(each)
      c = c.reshape((3, 3))
      i += 1
      print ('Number %d :' % i)
      print ('')
      print (c)
      print ('')
      print ('-' * 20)

zanglanju 发表于 2018-4-3 15:42:41

{:5_90:}

凌九霄 发表于 2018-4-11 01:08:55

本帖最后由 凌九霄 于 2018-4-11 01:13 编辑

from itertools import permutations

allarrangement = list(permutations(, 9))
for i in allarrangement:
    if sum(i) == sum(i) == sum(i) == sum(i) == sum(i) == sum(i) == sum(i) == sum(i):
      print("{0}|{1}|{2}\n{3}|{4}|{5}\n{6}|{7}|{8}\n".format(i, i, i, i, i, i, i, i, i))

Even_138 发表于 2018-4-11 09:33:33

学习

jrro452 发表于 2018-5-23 17:07:08

from itertools import permutations as pt
result = []
combol = pt(range(1,10),3)
for i in combol:
    num = []
    a, b, c = i
    if a+b+c==15:
      num.append(a)
      num.append(b)
      num.append(c)
      result.append(num)
combol2 = pt(result,3)
Finalresult = []
for x in combol2:
    num2 = []
    num1 = []
    A,B,C = x
    if A+B+C==15 and A+B+C==15 and A+B+C==15 and A+B+C==15 and A+B+C==15:
      num2.append(A)
      num2.append(B)
      num2.append(C)
      num1.extend(A)
      num1.extend(B)
      num1.extend(C)
      if len(list(set(num1)))==9:
            Finalresult.append(num2)
print('满足要求的九宫格有%d组'%len(Finalresult))
print(Finalresult)
方法太笨了····

jrro452 发表于 2018-5-23 17:07:53

jrro452 发表于 2018-5-23 17:07
方法太笨了····

结果:
满足要求的九宫格有8组
[[, , ], [, , ], [, , ], [, , ], [, , ], [, , ], [, , ], [, , ]]

萧丹夜 发表于 2018-5-23 20:35:50

哈哈哈 不会

小强工作室 发表于 2018-7-16 17:19:55

学习中

lyslyslys 发表于 2018-9-22 09:36:55

感谢

sunyuanency 发表于 2019-1-3 13:25:50

每天一学

hipppython 发表于 2019-1-3 14:42:31

学习学习
页: 1 [2] 3
查看完整版本: Python:每日一题 27(答题领鱼币)