Python练习题 001:4个数字任取3个且互不相同

这篇博客讨论了如何使用Python和C++从数字1,2,3,4中创建互不相同且无重复数字的三位数。博主分析了问题并提供了Python的两种实现方式,包括利用列表操作和迭代器,同时提及了C++的简单实现。还提到了Python的itertools库以及笛卡尔积的概念,展示了更简洁的解决方案。" 111722779,10326060,Python集合交并补运算:推导式、内置方法与按位运算,"['Python编程', '数据结构', '集合操作']
摘要由CSDN通过智能技术生成

题目

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

分析

思想:思路比较容易,只需要逐个遍历。遍历的时候注意十位数字不能与百位数字相同,各位数字不能与前两者相同即可。
Python:思路虽然如此,涉及到具体实现时,有所不同。Python的思路可以是将数字建成一个列表,然后依次弹出,为了保证数字不会重复,可以将弹出后所剩的列表在后面遍历使用,这样就可以有效避免数字重复。举个例子,百位将数字1弹出,然后只剩下2,3,4了,再将剩余的2,3,4用于十位数字的获取,就不会和百位重复了。个位也是如此。但是需要注意的是由于百位也是循环使用的,因此不要操作原列表,复制一个处理就好。python的实现代码如代码1所示。
C++:C++的想法就很简单了,只需要逐个取出数字,然后对比。好久没写C++了,竟然连头文件怎么写的……深感汗颜,自己都笑了

itertools:在网上兜了一圈,看到惊为天人的代码,只

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉大秦少游

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值