Python编程练习1:无重复数字的盘算

分享
源代码 2024-10-4 17:36:36 83 0 来自 中国
标题:由6,7,8,9四个数字能构成多少个互不相同且无重复数字的三位数?分别是多少?
```
# 利用穷举法实现求解
NUM = 0;
numbers = [6,7,8,9]
for i in numbers:
    for j in numbers:
        for k in numbers:
            if ((i!=j) and (i!=k) and (j!=k)):
                print(i,j,k)
                NUM = NUM +1
print(NUM)
```
别的可以接纳python的迭代器来完成。
迭代器最大的特点是惰性求值,即只有当迭代至某个值时,才会对其举行盘算,而不是一开始就盘算出全部的值。
迭代器特殊得当应用于大文件,无穷聚集等,由于无需将他们一次性传入内存中。
itertools是Python内置的模块,此中包罗了一系列迭代器相关的函数和类。
此中permutations方法是用来天生分列的
用法:permutations(iterable[, r])
此中,r 指定天生分列的元素的长度,假如不指定,则默以为可迭代对象的元素长度。
```
from itertools import permutations
NUM = 0;
numbers = [6,7,8,9]
for i in permutations(numbers, 3):
        print(i)
        NUM = NUM+1
print(NUM)
```
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 00:28, Processed in 0.175384 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表