Greenland 发表于 2017-9-1 23:29:37

本帖最后由 Greenland 于 2017-9-1 23:32 编辑

def foo(number):
    count = 0
    for i in range(1, number + 1):
      for j in range(1, number + 1):
            if i + j < number:
                print(i, j, number - i - j)
                count += 1
            else:
                break
    print("总共有%d种排列" % count)

陈大印 发表于 2017-9-2 18:24:42

i = 0
for a in range(1,20):
    for b in range(1,20):
      for c in range(1,20):
            if a+b+c == 20:
                print(a,b,c)
                i+= 1
print(i)

dream_11 发表于 2017-9-2 19:32:36

list_1 = []
list_new = []
count = 0
for i in range(1,20):
        for j in range(1,20):
                for k in range(1,19):
                        if i + j + k == 20:
                                list_1.append()
                                count += 1
for i in range(count):
        list_4 = sorted(list_1)
        if list_4 not in list_new:
                list_new.append(list_4)
for i in list_new:
        for j in i:
                print(j,end=' ')
        print()
print(count)
print(len(list_1))

半月先生 发表于 2017-9-2 19:53:52

怎么个程序呢

tich 发表于 2017-9-2 20:32:53

def main():
    i = 0
    for x in range(1, 19):
      for y in range(1, 21-1-x):
            if 20-x-y > 0:
                i += 1
    print(i)

if __name__ == '__main__':
    main()

银色的色 发表于 2017-9-2 22:01:59

啊啊啊啊啊~

list0 = []
for x in range(1,19):
    for y in range(1,19):
      for z in range(1,19):
            if x+y+z ==20:
                list0.append((x,y,z))

print(len(list0))
print(list0)

工程狗 发表于 2017-9-3 09:14:47

count = 0
for a in range(1,21):
    for b in range(1,21):
      for c in range(1,21):
            if a+b+c==20:
                count += 1
                print(a,b,c)
print("一共有",count,"种排列")

小贱剑 发表于 2017-9-3 09:45:04

def sum20():
    list1=[]
    for i in range(1,19):
      for j in range(1,19):
            for k in range(1,19):
                if (i+j+k)==20:
                  list2=list((i,j,k))
                  list2.sort()
                  if (list2) not in list1:
                        list1.append(list2)
                        
    print(list1,end=' ')
    return len(list1)

PythonHanoi 发表于 2017-9-3 18:04:19

count=0
for x in range(1,21):
      for y in range(1,21):
                for z in range(1,21):
                        if x+y+z==20:
                              print(x,y,z)
                              count+=1
print(count)
                        

ChrisYang 发表于 2017-9-3 21:34:44

list1=[]
for i in range(1,19):
      for q in range(1,19):
            for w in range(1,19):
                  if i+q+w==20:
                        list1.append()

j=[]
list2=[]
for e in list1:
      if set(e) not in j:
            j.append((set(e)))
            list2.append(e)
print("一共有%d种排列:他们分别是"% len(j))
for each in list2:
      print(each,end='\n')
_____________________________________________________________
一共有33种排列:他们分别是

































zzz1994 发表于 2017-9-3 22:07:11

111

baicel21314 发表于 2017-9-4 10:11:06

想到的答案已经有人写了,就不回答了。。。{:5_97:}

pu1434 发表于 2017-9-4 15:24:22

银色的色 发表于 2017-9-2 22:01
啊啊啊啊啊~

33种
pm=0
for i in range(1,20):
    for j in range(i,10):
      for k in range(j,20):
            if(i+j+k==20):
                print(i,j,k);
                pm+=1;
print(pm);

可爱的失踪人口 发表于 2017-9-4 17:43:48

{:5_91:}

Assistant 发表于 2017-9-4 19:04:28

a,b,c,count = 1,1,18,0
while a < 19:
    while b < 20 - a:
      c = 20 - a - b
      count += 1
      print(a,b,c)
      b += 1
    a += 1
    b = 1
print("总共有%d种排列" % count)

龍三少 发表于 2017-9-5 10:21:38

看看你的做法,我用了三层嵌套,不知合不合适

龍三少 发表于 2017-9-5 10:30:57

一个小白的做法,结果是171,不知道对不对
#include <stdio.h>


int main(int argc, char* argv[])
{
        int i, j, k;
        int res = 0;
        int count = 0;
       
       
        for (i =1; i <= 18; ++i)
        {
                for (j = 1; j <= 18; ++j)
                {
                        for (k = 18; k >=1; --k)
                        {
                                res = i + j + k;
                                if (20 == res)
                                {
                                        printf("i = %d, j = %d, k = %d\n", i, j, k);
                                        count += 1;
                                }
                        }
                }
        }
        printf("总共有%d种排列方法\n", count);
        return 0;
}

ESON 发表于 2017-9-5 14:31:13

看看

星际流火 发表于 2017-9-5 14:41:54

w

古堡主人。 发表于 2017-9-5 14:52:24

jerryxjr1220 发表于 2017-8-31 09:24


感觉这句好复杂,能不能讲讲这个句话怎么执行的
页: 1 [2] 3 4
查看完整版本: Python:每日一题 88(答题领鱼币)