【python】编程语言入门经典100例
短信预约 -IT技能 免费直播动态提醒
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循环遍历整个列表,取出其中的数字
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341