lollipop1211
发表于 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)
lollipop1211
发表于 2020-2-14 11:37:33
新手·ing 发表于 2017-3-24 21:43
这是我的解答,欢迎大家一起交流。
我认为这样输出的结果只是三个个位数字的组合而不是一个三位数,虽然看起来一样但含义不同
lollipop1211
发表于 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)
kkkrdd
发表于 2020-2-15 21:51:31
本帖最后由 kkkrdd 于 2020-2-15 21:53 编辑
alist =
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
bwlinux
发表于 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))
zhguhe
发表于 2020-2-19 17:42:15
import itertools
a = range(1, 5)
y = list(itertools.permutations(a, 3))
print(y)
xu1sk2
发表于 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)
君子好逑
发表于 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
ruokang
发表于 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())
lwje1009
发表于 2020-2-27 19:02:23
123
xiajianlei214
发表于 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)
dudaguo
发表于 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
840613937
发表于 2020-3-10 16:15:15
婴儿乐
发表于 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))
一个看似很简单的小项目,对于小白的自己来说自己真正动起手来才发现处处都会出错,不过幸好最后还是把它写出来了。也感谢楼上朋友们的提醒
婴儿乐
发表于 2020-3-14 12:58:48
婴儿乐 发表于 2020-3-14 12:57
一个看似很简单的小项目,对于小白的自己来说自己真正动起手来才发现处处都会出错,不过幸好最后还是把 ...
下次争取不看楼主们的提醒就能做出来{:5_95:}
simiyu
发表于 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 =
get(intlist)
魔法鳕鱼
发表于 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
jimcomputer
发表于 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)
jimcomputer
发表于 2020-3-15 17:24:33
solomonxian 发表于 2017-4-18 20:08
两两不相等,不试下用集合吗?
数字多起来的时候还是集合好用吧
len用得漂亮
whitney7
发表于 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)
页:
3
4
5
6
7
8
9
10
11
12
[13]
14
15