鱼C论坛

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

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

  [复制链接]
发表于 2017-8-16 20:01:34 | 显示全部楼层
list=[]
for i in range(1,5):
    for j in range(1,5):
        if j==i:
            continue
        for k in range(1,5):
            if k == j or k == i:
                continue
            else:
                a=100*i+10*j+k
                list.append(a)
print('组合数:',len(list))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-19 21:24:05 | 显示全部楼层
list1 = []
for i in range(1,5):
        for j in range(1,5):
                for k in range(1,5):
                        if i != j and j != k and k != i:
                                list1.append(i * 100 + j * 10 + k)
print('共有%d个!'% len(list1))
print('分别是:',end = '')
for each in list1:
    print(each,end = ' ')

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

使用道具 举报

发表于 2017-9-4 00:17:41 | 显示全部楼层
count = 0
print "The number is: "
for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5): 
            if (i != j) and (j != k) and (i != k):
                count += 1
                print i * 100 + j * 10 + k,
                if count % 4 == 0:
                    print             
print "The count of number is:", count
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-5 21:48:45 | 显示全部楼层
本帖最后由 Jocks 于 2017-9-5 22:00 编辑

count = 0
for num1 in range(1,5):
    for num2 in range(1,5):
        for num3 in range(1,5):
            if num1 != num2 and num1 != num3 and num2 != num3:
                print('%d%d%d'%(num1,num2,num3))
                count += 1
print('总共有%d个数符合条件' % count)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 10:07:00 | 显示全部楼层
def countshow(list0 = [1,2,3,4]):

    count = 0
    listf = []
    for h in list0:
        list0.remove(h)
        list1 = list0.copy()
        list0.append(h)
        for d in list1:
            list1.remove(d)
            list2 = list1.copy()
            list1.append(d)
            for u in list2:
                count += 1
                listf.append(100 * h + 10 * d + u)

    print('满足条件的共有:' + str(count) + '个')
    print(listf,end = ' ')

listt = [2,3,4,5,6]
countshow(listt)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-12 09:46:20 | 显示全部楼层

>>> tuple1 = (1, 2, 3, 4)
>>> tuple1
(1, 2, 3, 4)
>>> for each1 in tuple1:
                    for each2 in tuple1:
                        for each3 in tuple1:
                                print(each1, each2, each3)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2017-9-13 16:48:14 | 显示全部楼层
plan A
list1 = [1,2,3,4]
list2 = []
for aa in list1:
    for bb in list1:
        if bb == aa:
            continue
        for cc in list1:
            if cc == bb or cc == aa:
                continue
            list2.append(int(str(aa) + str(bb) + str(cc)))

print(len(list2))
print()
print(list2)

plan B
list1 = []
list2 = []
for i in range(1,5):
    for y in range(1,5):
        for x in range(1,5):
            list1.append(int(str(1) + str(y) + str(x)))

for aa in list1:
    bb = list(str(aa))
    if len(bb) == len(set(bb)):
        list2.append(aa)


print('总共有%d个不同的数字,他们分别是:' % len(list2))
for ss in list2:
    print(ss)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 17:13:03 | 显示全部楼层
本帖最后由 懒惰有只猫 于 2017-9-13 17:16 编辑
numbers = ['1','2','3','4']
results = []
for i in numbers:
    for j in numbers:
        for k in numbers:
            if (i + j + k) not in results and i != j and j != k and i != k:
                results.append(i + j + k)

for result in results:
    print (result)
print ('-------------')
print (len(results))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-14 23:57:07 | 显示全部楼层
#-*-coding:gbk-*-
__author__ = 'chennan'
def count(w,x,y,z):
    list1=[w,x,y,z]
    list2=[]
    n3=0
    while n3<=3:
       a=list1[n3]
       n3+=1
       n2=0
       while n2<=3:
           b=list1[n2]
           n2+=1
           n1=0
           while n1<=3:
               c=list1[n1]
               n1+=1
               d=a*100+b*10+c
               list2.append(d)
    return  list2;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-21 13:49:53 | 显示全部楼层
for i in range(1,5):
     for j in range(1,5):
        for k in range(1,5):
            if i !=j and j!=k and i!=k:
                print(i,j,k)

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

使用道具 举报

发表于 2017-9-23 21:38:27 | 显示全部楼层
q=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:
                q+=1
                print(i,j,k,q)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-25 14:38:50 | 显示全部楼层
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
                if a != b != c:
                    print(a*100+b*10+c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-26 16:46:22 | 显示全部楼层
for下for就行啊,从个十百位排序来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-8 19:50:32 | 显示全部楼层
本帖最后由 口可口可 于 2017-10-8 19:59 编辑
list=[]
for x in range(1,5):
    for y in range(1,5):
        if y!=x:
            for z in range(1,5):
                if z!=x and z!=y:
                    list.append(x * 100 + y * 10 + z)
print('符合条件的数字共有%d个'%len(list))
print('它们分别是:',end='')
for each in list:
    print(each,end=' ')

符合条件的数字共有24个
它们分别是:123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432

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

使用道具 举报

发表于 2017-10-11 22:44:55 | 显示全部楼层
大佬们好,初学者
#-*-conding:UTF-8 -*-
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 str(a)+str(b)+str(c)  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-13 16:37:17 | 显示全部楼层
新手上路!!!
temp = []
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i != j != k:
                temp.extend([(i,j,k)])
print(temp)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-14 13:01:39 | 显示全部楼层
n = 0
for x in range(1,5):
     for y in range(1,5):
         for z in range(1,5):
           if x != y and  x != z and y != z:
                 n+=1
                 print(x,y,z)
print('一共有%d个数' % n)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-24 10:20:44 | 显示全部楼层
初学python  先用以前学过的一点点java写写

class Untitled {
        public static void main(String[] args) {
                int i=0;
                for(int a=1;a<=4;a++){
                        for(int b=1;b<=4;b++){
                                for(int c=1;c<=4;c++){
                                        for(int d=1;d<=4;d++){
                                                if(a!=b && a!=c && a!=d && b!=c && b!=d && c!=d){
                                                System.out.println(1000*a+100*b+10*c+d);
                                                        i++;}
                                        }
                                }
                        }       
                }
                System.out.println("一共有 "+i+" 个数");
        }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-25 20:44:03 | 显示全部楼层
疑问,楼主看到回复下
代码if i != k and i != j and j != k: 这里只要两个就好了吧
i !=j and j !=k
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 20:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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