码迷,mamicode.com
首页 > 编程语言 > 详细

编程语言入门经典100例--1

时间:2016-02-15 16:46:29      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:有1、2、3、4个数字   能组成多少个互不相同且无重复数字的三位数?都是多少?   

  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循环遍历整个列表,取出其中的数字


本文出自 “学习笔记” 博客,请务必保留此出处http://netsyscode.blog.51cto.com/6965131/1742044

编程语言入门经典100例--1

标签:有1、2、3、4个数字   能组成多少个互不相同且无重复数字的三位数?都是多少?   

原文地址:http://netsyscode.blog.51cto.com/6965131/1742044

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!