为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
初识Python_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 看了有点久终于明白为什么move(n-1, a, c, b)的参数要改位置了。汉诺塔问题的规则前提得先搞懂,然后这答案其实主要思想就三步,主要第一步难懂参数位置为什么改变

    def move(n, a, b, c):

        if n ==1:

            print a, '-->', c

            return

        move(n-1, a, c, b)  //第一步,先把a柱子上的n-1个小的盘看作一个整体移动到b柱子上,具体如何移动,就是用move函数本身继续迭代,但其实盘的数已经少了,变成n-1了,可以从(n-1)=1或者2或者3向上想(!!!此时函数的目的是要将盘子从a搬到b而不是c上了,然而函数搬的却只能是将第一个参数的盘搬到第三个参数柱子上,这就是为什么函数参数位置需要改变的原因)

        print a, '-->', c      //第二步,把a柱子底下最大的盘移到c盘上(这就是为什么函数参数位置改变的原因)

        move(n-1, b, a, c)//第三步,把b盘上的剩下的n-1个小盘移动到c盘上

    move(2, 'A', 'B', 'C')


    查看全部
  • >>> t = ('a', 'b', ['A', 'B'])

    注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:

    >>> L = t[2]

    然后,我们把list的两个元素改一改:

    >>> L[0] = 'X'
    >>> L[1] = 'Y'

    再看看tuple的内容:

    >>> print t
    ('a', 'b', ['X', 'Y'])


    查看全部
  • tuple和list一样,可以包含 0 个、1个和任意多个元素。

    包含多个元素的 tuple,前面我们已经创建过了。

    包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

    >>> t = ()
    >>> print t
    ()

    创建包含1个元素的 tuple 呢?来试试:

    >>> t = (1)
    >>> print t
    1

    好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?

    因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

    正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

    >>> t = (1,)
    >>> print t
    (1,)

    Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。

    多元素 tuple 加不加这个额外的“,”效果是一样的:

    >>> t = (1, 2, 3,)
    >>> print t
    (1, 2, 3)


    查看全部
  • Python之 更新set

    由于set存储的是一组不重复的无序元素,因此,更新set主要做两件事:

    一是把新的元素添加到set中,二是把已有元素从set中删除。


    查看全部
    0 采集 收起 来源:Python之 更新set

    2018-10-04

  • https://img1.sycdn.imooc.com//5bb5805a0001e0b907700293.jpgpython交互式环境

    查看全部
  • https://img1.sycdn.imooc.com//5bb57f9e0001d32706180338.jpg

    https://img1.sycdn.imooc.com//5bb57f9f0001f8c604650308.jpg

    https://img1.sycdn.imooc.com//5bb57f9f000188d704150209.jpg

    版本的选择

    查看全部
    0 采集 收起 来源:选择Python版本

    2018-10-04

  • https://img1.sycdn.imooc.com//5bb57f1200010d0307140388.jpg

    https://img1.sycdn.imooc.com//5bb57f120001a81206450310.jpg

    https://img1.sycdn.imooc.com//5bb57f130001a8a304040297.jpg

    https://img1.sycdn.imooc.com//5bb57f130001af2303450299.jpg

    https://img1.sycdn.imooc.com//5bb57f14000156c107290411.jpg

    Python的基本特点

    查看全部
  • 删除list中的最后一个数据pop();

    删除list中制定的数据pop(n);

    >>> L.pop(2)
    'Paul'
    >>> print L
    ['Adam', 'Lisa', 'Bart']

    注意,如果要同时删除相同list中的数据,第一步执行的索引删除后,整个list的索引就会改变。

    L = ['Adam', 'Lisa', 'Paul', 'Bart']

    L.pop(3)

    L.pop(2)

    print L



    查看全部
  • 把参数加到数组的末尾:append()

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.append('Paul')
    >>> print L
    ['Adam', 'Lisa', 'Bart', 'Paul']

    把参数加到指定位置:insert()

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.insert(0#数组的位置, 'Paul')
    >>> print L
    ['Paul', 'Adam', 'Lisa', 'Bart']


    查看全部
  • 1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

    2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

    所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。


    查看全部
  • x1 = 1

    d = 3

    n = 100

    x100 = x1+(n-1)*d

    s = (x1+x100)*n/2

    print s

    首先计算第N项值:An-A1+(n-1)*d

    其次求和:Sn=n(A1+An)*n/2

    查看全部
  • for 循环可以取出list中每个元素。

    查看全部
  • sum()函数接受一个list作为参数,并返回list所有元素之和。

    查看全部
  • set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

    创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:

    >>> s = set(['A', 'B', 'C'])

    可以查看 set 的内容:

    >>> print s
    set(['A', 'C', 'B'])


    查看全部
  • dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。

    不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。

    由于dict是按 key 查找,所以,在一个dict中,key不能重复。

    dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样:

    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }

    当我们试图打印这个dict时:

    >>> print d
    {'Lisa': 85, 'Adam': 95, 'Bart': 59}


    查看全部

举报

0/150
提交
取消
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!