鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 1

  [复制链接]
发表于 2017-4-15 15:25:16 | 显示全部楼层
n=0
temp=[]
a=input('num:')
b=input('num:')
c=input('num:')
d=input('num:')
temp.append(a)
temp.append(b)
temp.append(c)
temp.append(d)
for x in temp:
    for y in temp:
        for z in temp:
            if (x!=y)and(x!=z)and(y!=z):
                print(x,y,z)
                n+=1
print('In total %d types'%n)
               

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 麻烦了

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-17 21:18:52 | 显示全部楼层
for a in range(1,5):
        for b in range(1,5):
                for c in range(1,5):
                if a!=b and b!=c and a!=c :
                        print (a,b,c)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 11:57:47 | 显示全部楼层
for a in list(range(1,5)):
    for b in list(range(1,5)):
        for c in list(range(1,5)):
            if a != b and b != c and a != c:
                num = 100*a + 10* b + c
                print(num)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 20:08:09 | 显示全部楼层
两两不相等,不试下用集合吗?
数字多起来的时候还是集合好用吧

  1. for i in range(1,5):
  2.     for j in range(1,5):
  3.         for k in range(1,5):
  4.             if len({i,j,k}) == 3:
  5.                 print(100*i+10*j+k)
  6.             else: return
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2017-4-29 08:19:58 | 显示全部楼层
solomonxian 发表于 2017-4-18 20:08
两两不相等,不试下用集合吗?
数字多起来的时候还是集合好用吧

我run了一下你的程序,else下面的return总报错,改成pass就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-29 18:26:03 | 显示全部楼层
有益 发表于 2017-4-29 08:19
我run了一下你的程序,else下面的return总报错,改成pass就好了

因为我原本是写在函数里面的,这里直接复制过来了··· ···
在函数外用 return 会报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-2 16:20:40 | 显示全部楼层
#coding: gbk
res = set()
numList = ['1', '2', '3', '4']
for i in numList:
    for j in numList:
        for k in numList:
            if i != j and j != k and k!= i:
                res.add(''.join([i, j, k]))
print(res)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-18 19:23:41 | 显示全部楼层
  1. for i in range(1,5):
  2.     for j in range(1,5):
  3.         for k in range(1,5):
  4.             if i != k and i != j and j != k:
  5.                 print(i,j,k)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-21 18:08:02 | 显示全部楼层
  1. count=0
  2. for i in range(1,5):
  3.     for j in range(1,5):
  4.         if j!=i:
  5.             for k in range(1,5):
  6.                 if k!=j and k!=i:                  
  7.                     print(i,j,k,sep='')
  8.                     count+=1
  9. print('总共{0}个'.format(count))
复制代码

假装自己是大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-21 19:54:29 | 显示全部楼层
渡漫 发表于 2017-5-21 18:08
假装自己是大佬

小家伙你好棒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-21 21:38:12 | 显示全部楼层

活抓大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-25 11:12:54 | 显示全部楼层
n = 0
a = 4
b = 4
c = 4
while a:
        while b:
                while c:
                        if (a!=b) and (b!=c) and (a!=c):
                                print (a,b,c)
                                n += 1
                        c -= 1
                b -= 1
                c = 4
        a -= 1
        b = 4
print ("总数是",n)

好像不太简洁的样子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-1 11:01:47 | 显示全部楼层
  1. #方法1-----------不知道那个什么 for a in range(1,5):的时候用笨的方法

  2. a=1
  3. Num=0
  4. while a<5:
  5.     b=1
  6.     while b<5:
  7.         c=1
  8.         while c<5:
  9.             if a!=b and b!=c and a!=c:
  10.                 print(a,b,c)
  11.                 Num = Num+1
  12.             c=c+1
  13.         b=b+1
  14.     a=a+1
  15. print('共有%d个数字'%Num)


  16. #方法2------------知道for a in range(1,5)时的小改进,我觉得可以减少一点计算机的工作量

  17. for a in range(1,5):
  18.     for b in range(1,5):
  19.         if a != b:
  20.             for c in range (1,5):
  21.                 if c !=a and c != b:
  22.                     print(a,b,c)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-12 15:00:08 | 显示全部楼层
num = 0
count = 0

for hundred in (1,2,3,4):
        for ten in (1,2,3,4):
                for base in (1,2,3,4):
                        if hundred != ten and hundred != base and ten != base:
                                num = 100*hundred + 10*ten + base
                                print(num)
                                count = count + 1

print('total %d numbers!\n' %count)

请各位高手多多指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-19 22:24:30 | 显示全部楼层
  1. from itertools import combinations
  2. n = range(1,5)
  3. print(list(combinations(n,3)))
  4. print(len(list(combinations(n,3))))
复制代码


  1. [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]
  2. 4
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-19 22:29:27 | 显示全部楼层

看错题目了
  1. from itertools import permutations
  2. n = range(1,5)
  3. print(list(permutations(n,3)))
  4. print(len(list(permutations(n,3))))
复制代码
  1. [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1), (2, 4, 3), (3, 1, 2), (3, 1, 4), (3, 2, 1), (3, 2, 4), (3, 4, 1), (3, 4, 2), (4, 1, 2), (4, 1, 3), (4, 2, 1), (4, 2, 3), (4, 3, 1), (4, 3, 2)]
  2. 24
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-27 12:27:41 | 显示全部楼层
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i != k and i != j and j != k:
                print(i,j,k)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-14 10:41:22 | 显示全部楼层
  1. from itertools import permutations
  2. print(list(permutations([1,2,3,4],3)))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-11 17:09:21 | 显示全部楼层
本帖最后由 bozhen 于 2017-8-11 17:15 编辑

  1. for a in range(1,5):
  2.     for b in range(1,5):
  3.         for c in range(1,5):
  4.             if a != b and a != c and b!=c:
  5.                 print(a,b,c)
复制代码


            
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-16 18:22:57 | 显示全部楼层
print("--------1、2、3、4,能组成多少个互不相同且无重复数字的三位数-------")

flag = 0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and i!=k and j!=k:
                print(100*i+10*j+k)
                flag += 1

print("共有组合:")
print(flag)


--------1、2、3、4,能组成多少个互不相同且无重复数字的三位数-------
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
共有组合:
24
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 22:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表