page contents

python基础编程100例:第14期-数字排列

本文讲述了python基础编程100例:第14期-数字排列!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-03-Hdq6Yrlm622bf97d69816.png

本文讲述了python基础编程100例:第14期-数字排列!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

第14期-数字排列

1 问题描述

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

2 解题思路

嵌套for循环使填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列

用print函数输出结果

3 解题方法

方法一

total = 0

for i in range(1, 5):

    for j in range(1, 5):

        for k in range(1, 5):

            if i != j and j != k and i != k:

                print(str(i)+str(j)+str(k), end=' ')

                total += 1

print(f"\n共有{total}个数")

第1行: 创建变量total,用于存储1,2,3,4四个数字所组成三位数的个数,初始赋值位0

第3-5行: 用变量 i, j, k 分别表示这个三位数的百位、十位和个位的数字,用3重嵌套for循环分别遍历百位、十位和个位上 1 至 4 的整数

第6行: 因为要组成无重复数字的三位数,所以 i, j, k 两两不相等

第7行: 用print函数打印排列结果,end=' '将结果输出到同一行,以空格结尾

第8行: 每次循环后total在原有的基础上加 1

第10行: 用print函数打印组成三位数的个数,\n换行输出

方法二

from itertools import permutations

total = 0

for i in permutations('1234', 3):

    print(''.join(i), end=' ')

    total += 1

print(f"\n共有{total}个数")

第1行: 从itertools模块中导入permutations函数

itertools的官方描述:Functional tools for creating and using iterators,即用于创建高效迭代器的函数。

itertools是Python中的内置模块,一般用于创建自定义迭代器

第3行: 创建变量total,用于存储1,2,3,4四个数字所组成三位数的个数,初始赋值位0

第5行: 调用permutations排序函数,排序对象为字符串 '1234' ,指定长度参数为3,用for循环遍历每一个排序

第6行: 由于permutations函数排序后会产生一个元组序列,所以用join函数将元素合并成一个新的字符串,end=' '将结果输出到同一行,以空格结尾

第7行: 每次循环后total在原有的基础上加 1

第9行: 用print函数打印组成三位数的个数,\n换行输出​

permutations函数

permutations函数返回可迭代对象的所有排列(顺序有关),排序后会产生一个元组序列

语法:

permutations(item [,r])

item为排序的对象

r为长度参数,用于指定长度的排列中​

join()函数

join() 方法是非常重要的字符串方法,用来将列表、集合或元组中包含的多个字符串连接成一个字符串。

**语法: **

'sep'.join(sequence)

参数说明:

sep:分隔符。可以为空

sequence:要连接的元素序列

上面语法的意思是:以sep作为分隔符,将sequence的所有元素合并成一个新的字符串

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-Aqzyq6YH6291961b14456.jpeg

  • 发表于 2022-03-12 09:38
  • 阅读 ( 665 )
  • 分类:Python开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1658 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章