Python:每日一题 1
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 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)
这是我的解答,欢迎大家一起交流。 for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if x != y andx != z and y != z:
print(x,y,z)
跟2楼的好巧 伤心地铁 发表于 2017-3-24 22:08
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
哈哈
谢谢支持
欢迎加入我的淘专辑
http://bbs.fishc.com/forum.php?mod=collection&action=view&ctid=588&fromop=my 本帖最后由 ooxx7788 于 2017-3-24 22:21 编辑
import itertools
a = range(1, 5)
y = list(itertools.permutations(a, 3))
print(y)
投机取巧 ooxx7788 发表于 2017-3-24 22:17
投机取巧
向大佬致敬
谢谢支持
欢迎加入我的淘专辑
http://bbs.fishc.com/forum.php?mod=collection&action=view&ctid=588&fromop=my
有没有兴趣成为维护人,一起?
5楼简洁。 yuclta 发表于 2017-3-28 21:32
5楼简洁。
是啊
万能的itertools模块 跟你们写的一样,从第一个开始做你这个系列,有意思
虽然代码一样,但是权当记录一下吧
def test1():
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) list = []
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:
a= 100 *x + 10 * y + z
list.append(a)
print('答案列表是:',list)
print('列表中的元素总共有:',len(list),'个') lists1=
lists2=
print(lists2,'个数'+str(len(lists1)))
变态版 count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i == j or j == k or k == i:
continue
else:
print('%d%d%d'%(i,j,k))
count += 1
print('有%d种组合'%count) 共24组,分别如下:
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; 新手·ing 发表于 2017-3-24 21:43
这是我的解答,欢迎大家一起交流。
{:5_95:} import itertools as it
print(len(,3)])) 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)
这个好,简单易懂,大爱,因为我看懂了。。。 e=0
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 c!=b:
d=a*100+b*10+c
e+=1
print(d," ",e) momozi 发表于 2017-4-11 12:58
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
会有空格出现吧 貌似:
def test1():
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) 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):
print(x,y,z)
n+=1
print('In total %d types'%n)