最痛心以前做的笔记 Python 练习实例1

人世间最痛心以前做的笔记的就是我以前做的笔记找不到了。唉,多年的心血啊,都 是经验所得

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

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

程序源代码:

实例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1,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

以上实例输出结果为:

1 2 3
1 2 4
1 3 2
1 3 4
1 4 2
1 4 3
2 1 3
2 1 4
2 3 1
2 3 4
2 4 1
2 4 3
3 1 2
3 1 4
3 2 1
3 2 4
3 4 1
3 4 2
4 1 2
4 1 3
4 2 1
4 2 3
4 3 1
4 3 2

 Python 100例

Python JSON

笔记列表

  1. zavier

    [email protected]

    使用列表形式,并计算总结:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    # 原答案没有指出三位数的数量,添加无重复三位数的数量
    
    d=[]
    for a in range(1,5):
        for b in range(1,5):
            for c in range(1,5):
                if (a!=b) and (a!=c) and (c!=b):
                    d.append([a,b,c])
    print "总数量:", len(d)
    print d
    

    zavier

    zavier

    [email protected]

    3个月前 (04-13)

  2. 盼盼

    [email protected]

    将for循环和if语句综合成一句,直接打印出结果

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    list_num = [1,2,3,4]
    
    list  = [i*100 + j*10 + k for i in list_num for j in list_num for k in list_num if (j != i and k != j and k != i)]
    
    print (list)
    

    盼盼

    盼盼

    [email protected]

    3个月前 (04-16)

  3. 习惯乌龙茶

    [email protected]

    参考方法(设置最大,最小值):

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    line=[]
    for i in range(123,433):
    	a=i%10
    	b=(i%100)//10
    	c=(i%1000)//100
    	if a!=b and b!=c and a!=c  and 0<a<5 and 0<b<5 and 0<c<5 :
    		print (i)
    		line.append(i)
    print(‘the total is :‘,len(line))
    

    习惯乌龙茶

    习惯乌龙茶

    [email protected]

    3个月前 (04-20)

  4. 成科

    [email protected]

    参考地址

    python3 下参考方案:

    #!/usr/bin/env python3
    #coding:utf-8
    
    num=[1,2,3,4]
    i=0
    for a in num:
        for b in num:
            for c in num:
                if (a!=b) and (b!=c) and (c!=a):
                    i+=1
                    print(a,b,c)
    print(‘总数是:‘,i)
    

    成科

    成科

    [email protected]

    参考地址

    3个月前 (04-24)

  5. whaike

    [email protected]

    来一个更Pythonic的方式:

    #-*- coding:utf-8 -*-
    
    for i in range(1,5):
    	for j in range(1,5):
    		for k in range(1,5):
    			if i!=j!=k:
    				print i,j,k

    whaike

    whaike

    [email protected]

    2个月前 (05-17)

  6. 白色帽子

    [email protected]

    参考方法:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    #用集合去除重复元素
    import pprint
    
    list_num=[‘1‘,‘2‘,‘3‘,‘4‘]
    list_result=[]
    for i in list_num:
        for j in list_num:
            for k in list_num:
                if len(set(i+j+k))==3:
                    list_result+=[int(i+j+k)]
    print("能组成%d个互不相同且无重复数字的三位数: "%len(list_result))
    pprint.pprint(list_result)
    

    白色帽子

    白色帽子

    [email protected]

    2个月前 (05-22)

  7. Chyroc

    [email protected]

    python自带这个函数的

    #!/usr/bin/env python3
    #coding:utf-8
    
    from itertools import permutations
    
    for i in permutations([1, 2, 3, 4], 3):
        print(i)

    Chyroc

    Chyroc

    [email protected]

    1个月前 (05-31)

  8. weapon

    [email protected]

    补充一下:

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    
    #补充一下
    
    from itertools import permutations
    
    for i in permutations([1, 2, 3, 4], 3):
        k = ‘‘
        for j in range(0, len(i)):
            k = k + str(i[j])
        print (int(k))

    weapon

    weapon

    [email protected]

    1个月前 (06-07)

  9. 逸章

    [email protected]

    没事找事之位运算

    # coding:utf-8
    #从 00 01 10  到  11 10 01
    for num in range(6,58):
        a = num >> 4 & 3
        b = num >> 2 & 3
        c = num & 3
        if( (a^b) and (b^c) and (c^a) ):
            print a+1,b+1,c+1www.pdfxs.comwww.123lala.cn
时间: 2024-10-29 15:06:46

最痛心以前做的笔记 Python 练习实例1的相关文章

[学习笔记] Python标准库的学习准备 [转]

Python标准库是Python强大的动力所在,我们已经在前文中有所介绍.由于标准库所涉及的应用很广,所以需要学习一定的背景知识. 硬件原理 这一部份需要了解内存,CPU,磁盘存储以及IO的功能和性能,了解计算机工作的流程,了解指令的概念.这些内容基础而重要. Python标准库的一部份是为了提高系统的性能(比如mmap),所以有必要了解基本的计算机各个组成部分的性能. 操作系统 在了解操作系统时,下面是重点: 1) 操作系统的进程管理,比如什么是UID, PID, daemon 2) 进程之间

《python源码剖析》笔记 python多线程机制

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.GIL与线程调度 Python中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用 为了支持多线程机制,一个基本的要求就是需要实现不同线程对共享资源访问的互斥,所以引入了GIL. GIL:在一个线程拥有了解释器的访问权之后,其他的所有线程都必须等待它释放解释器的访问权,即使这些线程的下

《python源码剖析》笔记 Python虚拟机框架

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1. Python虚拟机会从编译得到的PyCodeObject对象中依次读入每一条字节码指令, 并在当前的上下文环境中执行这条字节码指令. Python虚拟机实际上是在模拟操作中执行文件的过程 PyCodeObject对象中包含了字节码指令以及程序的所有静态信息,但没有包含 程序运行时的动态信息--执行环境(PyFrameObject) 2.Python源码中的PyFrameObject

《python源码剖析》笔记 python虚拟机中的一般表达式

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.字节码指令 LOAD_CONST:从consts表中读取序号为i的元素并压入到运行时栈中 STORE_NAME:改变local名字空间.从符号表names取序号为i的元素作为变量名, 取运行时栈的栈顶元素作为变量值,完成从变量名到变量值的映射关系的创建. BUILD_MAP:创建一个空的PyDictObject对象,并压入运行时栈 DUP_TOP:将栈顶元素的引用计数增加1,并将它再次

[学习笔记] Python标准库简明教程 [转]

1 操作系统接口 os 模块提供了一系列与系统交互的模块: >>> os.getcwd() # Return the current working directory '/home/minix/Documents/Note/Programming/python/lib1' >>> os.chdir('~/python') # Change current working directory Traceback (most recent call last): File

《python源码剖析》笔记 python虚拟机中的函数机制

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.Python虚拟机在执行函数调用时会动态地创建新的 PyFrameObject对象, 这些PyFrameObject对象之间会形成PyFrameObject对象链,模拟x86平台上运行时栈 2.PyFuctionObject对象 typedef struct { PyObject_HEAD PyObject *func_code: //对应函数编译后的PyCodeObject对象 Py

怎么用思维导图做读书笔记

思维导图就是高度模拟人们大脑想法与观点的可视化展现.XMind与传统的段落式读书笔记相比,所绘制出的读书笔记思维导图有着以下优点:一是篇幅小,读书笔记思维导图的内容一般都是通过加工提炼而成的:二是结构清晰,通过一个中心主题进行层级的扩散,将书中的内容更直观地呈现出来:三是便于记忆,基于以上两点的优势,读书笔记思维导图可以帮助我们快速地掌握一本书的核心内容. 读书笔记思维导图大概可分为两种:一种是通读全文之后把笔记提取出来再做成思维导图:第二种是一边看书一边做思维导图,最后再对零散的导图内容做好整

《python源码剖析》笔记 python中的List对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyListObject对象 --> 变长可变对象,可看作vector<PyObject *> typedef struct{ PyObject_VAR_HEAD //其中的ob_size表示实际被使用的内存的数量 PyObject **ob_item;//ob_item为指向元素列表的指针,实际上,Python中的list[0]就是ob_item[0] int allocat

《python源码剖析》笔记 python中的Dict对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyDictObject对象 -->  C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject采用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要重新计算一遍hash值 PyObject *me_key; PyObject *me_