本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

Python基础训练_常用算法

本文部分内容引自开源社区github https://github.com/RichardFu123/Python100Cases
这些解题的思路应该是开发当中常用的, 所以不管学习什么语言, 都可以试着去解一下这些题
纸上得来终觉浅,得知此事要躬行!

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

答案一:

list = [1,2,3,4]
# 把三位数分别定义变量为i,j,k
n = 0
for i in list:
    for j in list:
        for k in list:
            # print(i,j,k) # 这里会输出所有的数字的所有排列, 包括重复的值
            # 下一步需要删除i=j=k的值, 只保留不重复的值
            if i !=j and i != k and j != k :
                n += 1
                print(i,j,k)
print(n) # 计数

答案二:

# 使用现成的功能非常的方便
from itertools import combinations,permutations # combin 组合; permut 排列
n = 0
for i,j,k in permutations(list,3): 
    # 如果使用1个变量for i in ..., 则会将3个数字的排列作为一个元组(a,b,c)输出
    print(i,j,k)
    n += 1
print(n)

找出列表中等于x的第一个值所在的位置

l = [4,7,'x',3,'x',5]


Offer

推广

 继续浏览关于 python算法 的文章

 本文最后更新于:2020/01/11 16:21:37,可能因经年累月而与现状有所差异,有任何疑问可以随时与258771198@qq.com沟通,邮箱永久有效

 引用转载请注明:manacode(码扣) > Python > Python基础训练_常用算法