题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字三位数?各是多少?

程序分析:可真在百位、十位、个位的数字都是1、2、3、4。先写出所有可能的排列,再排除不符合条件的排列。

代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for i in range(1,5):    #从1开始到4,不包含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循环语句写出所有的排列,if条件语句排除不满足题意的项。

range()函数

语法:range(start, stop[, step])

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
>>>range(10)        # 从 0 开始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>range(1, 11)     # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]
>>>range(0, 10, 3)  # 步长为 3
[0, 3, 6, 9]
>>>range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>>range(0)
[]
>>>range(1, 0)
[]

range在for中的使用,循环输出:

>>>x = 'njfu'
>>>for i in range(len(s)):
...  print (x[i])

n
j
f
u

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐