1 # 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?2?num?=?[1,2,3,4]
3?n?=?[]
4?for?x?in?num:
5?????for?y?in?num:
6?????????for?z?in?num:
7?????????????if?x?!=?y?and?x?!=?z?and?y?!=?z:
8??????????????????m?=?x*100?+?y*10?+?z
9??????????????????n.append(m)
10
11?print('可以组成无重复的三位数有%d个'%(len(n)))
12?print('它们分别是:')
13?print(n)
运行结果:[root@HK?code_100]#?python?code_1.py
可以组成无重复的三位数有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]
脚本解释:2?num?=?[1,2,3,4]?#?将这四个数字定义成一个列表,以便for遍历这一些数字,也可以使用rang(1,5)来表示
3?n?=?[]?#定义一个空list,用来存放符合要求的数字,之所以用list是为了可以用len()函数取长度
4?for?x?in?num:??#用三个for循环来遍历所有可能的组合
5?????for?y?in?num:
6?????????for?z?in?num:
7?????????????if?x?!=?y?and?x?!=?z?and?y?!=?z:??#?排除有重复数字的三位数?(不知道有没有简单的表达式可以表示这个条件,没多想)
8??????????????????m?=?x*100?+?y*10?+?z???#取得符合要求的数字
9??????????????????n.append(m)???????#将符合要求的数字用append方法添加到列表n中
10
11?print('可以组成无重复的三位数有%d个'%(len(n)))????#?格式化输出列表长度,也就是列表个数
12?print('它们分别是:')
13?print(n)????????????????????#?列出符合要求的数字,也可以用for循环遍历整个列表,取出其中的数字