本帖最后由 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)
新手·ing 发表于 2017-3-24 21:43
这是我的解答,欢迎大家一起交流。
我认为这样输出的结果只是三个个位数字的组合而不是一个三位数,虽然看起来一样但含义不同
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: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
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))
import itertools
a = range(1, 5)
y = list(itertools.permutations(a, 3))
print(y)
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)
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
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())
123
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)
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
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:57
一个看似很简单的小项目,对于小白的自己来说自己真正动起手来才发现处处都会出错,不过幸好最后还是把 ...
下次争取不看楼主们的提醒就能做出来{:5_95:}
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)
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: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)
solomonxian 发表于 2017-4-18 20:08
两两不相等,不试下用集合吗?
数字多起来的时候还是集合好用吧
len用得漂亮
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)