鱼C论坛

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

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

  [复制链接]
发表于 2020-2-14 11:36:29 | 显示全部楼层
本帖最后由 lollipop1211 于 2020-2-14 11:41 编辑

i=0
print("可以组成的无重复数字分别是:")
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if (a!=b) and (a!=c)and(b!=c):
                print(a*100+b*10+c,end=' ')
                i=i+1
print("\n")
print("总个数:",end=' ')
print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-14 11:37:33 | 显示全部楼层
新手·ing 发表于 2017-3-24 21:43
这是我的解答,欢迎大家一起交流。

我认为这样输出的结果只是三个个位数字的组合而不是一个三位数,虽然看起来一样但含义不同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-14 11:41:35 | 显示全部楼层
i=0
print("可以组成的无重复数字分别是:")
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if (a!=b) and (a!=c)and(b!=c):
                print(a*100+b*10+c,end=' ')
                i=i+1
print("\n")
print("总个数:",end=' ')
print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-15 21:51:31 | 显示全部楼层
本帖最后由 kkkrdd 于 2020-2-15 21:53 编辑

alist = [1,2,3,4]
for i in alist:
        for j in alist:
                for k in alist:
                        if i == j or i == k or j == k:
                                continue
                        else:
                                print(i * 100 + j * 10 + k)

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
回复 支持 反对

使用道具 举报

发表于 2020-2-16 22:30:07 | 显示全部楼层
f = []
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:
                x = 100 * i + 10 * j + k
                f.append(x)
print(f)
print('所有不重复的数字总共是:%d' % len(f))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-19 17:42:15 | 显示全部楼层
import itertools
a = range(1, 5)
y = list(itertools.permutations(a, 3))
print(y)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-21 22:57:57 | 显示全部楼层
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if a != b and a != c and b != c:
                print(a,b,c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 12:55:05 | 显示全部楼层
count=0
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):
                result=100*i+10*j+k
                print('%5d'%result,end='')
                count+=1
            else :
                continue
            if count==10:
                print()
                count=0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-24 15:16:14 | 显示全部楼层
def fun1():
    tuple1 = (1, 2, 3, 4)
    list1 = []
    for baiwei in tuple1:
        for shiwei in tuple1:
            for gewei in tuple1:
                if baiwei != shiwei and baiwei != gewei and shiwei != gewei:
                    shuzi = 100*baiwei + 10*shiwei + gewei
                    list1.append(shuzi)
    return len(list1)

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

使用道具 举报

发表于 2020-2-27 19:02:23 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-29 17:14:27 | 显示全部楼层
list1 = []
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            num = a * 100 +b * 10 + c
            if a != b and a != c and b != c:
                
                if num not in list1:
                    list1.append(num)

print('能组成 %d 个满足条件的三位数:' % len(list1))
print('分别为:' , list1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 11:20:24 | 显示全部楼层
num=list(x+ y*10 + z*100 for z in range(1,5) for y in range(1,5) for x in range(1,5) if x != y != z)
len(num)
num
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2020-3-10 16:15:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 12:57:09 | 显示全部楼层
e = []
for a in range(1,5):
    for b in range(1,5):
        for c in range(1,5):
            if a != b and a != c and b !=c:
                d = 100*a+10*b+c
                e.append(d)
print('所有的符合条件的数值:',e)
print('所有符合条件的数值的个数:',len(e))

一个看似很简单的小项目,对于小白的自己来说自己真正动起手来才发现处处都会出错,不过幸好最后还是把它写出来了。也感谢楼上朋友们的提醒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 12:58:48 | 显示全部楼层
婴儿乐 发表于 2020-3-14 12:57
一个看似很简单的小项目,对于小白的自己来说自己真正动起手来才发现处处都会出错,不过幸好最后还是把 ...

下次争取不看楼主们的提醒就能做出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 17:31:11 | 显示全部楼层
from copy import deepcopy


def get(intlist, x=0, ct=''):
    if x < length:
        for i in intlist:
            temp = deepcopy(intlist)
            temp.remove(i)
            get(temp, x + 1, ct + str(i))
    else:
        alllist.append(int(ct))
        print(ct)


# 需要几位数
length = 3

# 结果存储
alllist = []

# 列表
intlist = [1, 2, 3, 4]

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

使用道具 举报

发表于 2020-3-15 12:41:58 | 显示全部楼层
def func(list):
    all = []
    for x in list:
        for y in list:
            for z in list:
                if x != y and x != z and y != z:
                    all.append(str(x)+str(y)+str(z))
    return all
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-15 16:20:50 | 显示全部楼层
本帖最后由 jimcomputer 于 2020-3-15 16:25 编辑

count1=0
for num1 in range(1,5):
    for num2 in range(1,5):
        for num3 in range(1,5):
                if num1 != num2 and num2 != num3 and num1 != num3:
                    count1+=1
                    result=100*num1+10*num2+num3
                    print (count1,result)

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

使用道具 举报

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

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

使用道具 举报

发表于 2020-3-17 14:59:16 | 显示全部楼层
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(i,j,k)  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 09:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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