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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • dict 等同于 map

    特点 :  查找速度快

    并不随着元素数量增加而改变速度,带来了内存的消耗,浪费内容

    内部无序

    key不可变

    查看全部
  • 进入文件夹

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

    查看全部
  • 切换到 D盘

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

    查看全部
  • 行首不能有空格

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

    查看全部
  • 进入 退出python 

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

    查看全部
  • 查看全部
  • 状态0  A:按顺序堆放的n个盘子。B:空的。C:空的。   目标是要把A上的n个盘子移动到C。因为必须大的在下小的在上,所以最终结果C盘上最下面的应该是标号为n的盘子,试想: 要取得A上的第n个盘子,就要把它上面的n-1个盘子拿开吧?拿开放在哪里呢?共有三个柱子:A显然不是、如果放在C上 了,那么最大的盘子就没地方放,问题还是没得到解决。所以选择B柱。当然,B上面也是按照大在下小在上的原则堆放的 (记住:先不要管具体如何移动,可以看成用一个函数完成移动,现在不用去考虑函数如何实现。这点很重要)。   很明显:上一步完成后三个塔的状态: 状态1:   A:只有最大的一个盘子。B:有按规则堆放的n-1个盘子。C空的。   上面的很好理解吧,好,其实到这里就已经完成一半了。(如果前面的没懂,请重看一遍。point:不要管如何移动!) 我们继续:   这时候,可以直接把A上的最大盘移动到C盘,移动后的状态: 中间状态:  A:空的。B:n-1个盘子。C:有一个最大盘(第n个盘子)   要注意的一点是:这时候的C柱其实可以看做是空的。因为剩下的所有盘子都比它小,它们中的任何一个都可以放在上面,也就是                    C柱上。   所以现在三个柱子的状态: 中间状态:  A:空的。B:n-1个盘子。C:空的   想一想,现在的问题和原问题有些相似之处了吧?。。如何更相似呢?。显然,只要吧B上的n-1个盘子移动到A,待解决的问题和原问题就相比就只是规模变小了   现在考虑如何把B上的n-1个盘子移动到A上,其实移动方法和上文中的把n-1个盘从A移动到B是一样的,只是柱子的名称换了下而已。。(如果写成函数,只是参数调用顺序改变而已)。    假设你已经完成上一步了(同样的,不要考虑如何去移动,只要想着用一个函数实现就好),请看现在的状态: 状态2: A:有按顺序堆放的n-1个盘子。B:空的。C:按顺序堆放的第n盘子(可看为空柱) 就在刚才,我们完美的完成了一次递归。如果没看懂请从新看一遍,可以用笔画出三个状态、静下心来慢慢推理。 我一再强调的:当要把最大盘子上面的所有盘子移动到另一个空柱上时,不要关心具体如何移动,只用把它看做一个函数可以完成即可,不用关心函数的具体实现。如果你的思路纠结在这里,就很难继续深入了

    查看全部
  • sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。 ''' L = [x*x for x in range(1,101)] print sum(L) ''' sum = 0 for x in range(1,101):    sum+=x**2 print (sum)

    查看全部
    1. raw 简称'r' 用途就是像一段代码里的单引号或者双引号多的话可以不用转义符号'\'来注释 太麻烦

    2. 可以直接在print后面+r'''???''' 中间部分直接照搬就行

    查看全部
  • def firstCharUpper(s):

        return s[0].upper()+s[1:]


    print firstCharUpper('hello')

    print firstCharUpper('sunday')

    print firstCharUpper('september')


    查看全部
    0 采集 收起 来源:对字符串切片

    2019-03-02

  • >>> 'ABCDEFG'[:3]
    'ABC'
    >>> 'ABCDEFG'[-3:]
    'EFG'
    >>> 'ABCDEFG'[::2]
    'ACEG'
    ·   >>> 'abc'.upper()
    'ABC'

    但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。


    查看全部
    0 采集 收起 来源:对字符串切片

    2019-03-02

  • 利用倒序切片对 1 - 100 的数列取出:

    * 最后10个数;

    * 最后10个5的倍数。


    • 5的倍数可以用 ::5 取出,要确定起始索引。

      参考代码:

      L = range(1, 101)
      print L[-10:]
      print L[-46::5]


    查看全部
    0 采集 收起 来源:倒序切片

    2019-03-02

  • Python 可以对 List 进行分片:  1. [0:3]  表示从索引0开始,选择后面3个(到索引3,不包括索引3);  2. [:]    表示从头到尾;  3. [::2]  表示每隔两个取一个;  4. [4:50:5] 表示从索引4开始,到索引50,每隔5个取一个(到索引50,不包括索引50).

    查看全部
    0 采集 收起 来源:对list进行切片

    2019-03-02

  • 4个空格和Tab严格区分,不要混合

    查看全部
    0 采集 收起 来源:Python之if语句

    2019-03-02

  • 多层表达式:

    for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。

    对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:

    >>> [m + n for m in 'ABC' for n in '123']
    ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']

    翻译成循环代码就像下面这样:

    L = []for m in 'ABC':
        for n in '123':
            L.append(m + n)


    查看全部
    0 采集 收起 来源:多层表达式

    2019-03-02

举报

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

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