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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • while

    查看全部
  • # -*- coding: utf-8 -*-
    L = ['机','飞','打','悬','倒']
    print L[-1],L[-2],L[-3],L[-4],L[-5]

    查看全部
  • for循环

    查看全部
    0 采集 收起 来源:Python之 for循环

    2018-03-26

  • if-elif-else

    查看全部
  • if-else 判断条件

    查看全部
    0 采集 收起 来源:Python之 if-else

    2018-03-26

  • 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

    举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可以看出:

    fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n

    所以,fact(n)可以表示为 n * fact(n-1),只有n=1时需要特殊处理。

    于是,fact(n)用递归的方式写出来就是:

    def fact(n):
        if n==1:
            return 1
        return n * fact(n - 1)

    上面就是一个递归函数。可以试试:

    >>> fact(1)
    1
    >>> fact(5)
    120
    >>> fact(100)
    93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000L

    如果我们计算fact(5),可以根据函数定义看到计算过程如下:

    ===> fact(5)
    ===> 5 * fact(4)
    ===> 5 * (4 * fact(3))
    ===> 5 * (4 * (3 * fact(2)))
    ===> 5 * (4 * (3 * (2 * fact(1))))
    ===> 5 * (4 * (3 * (2 * 1)))
    ===> 5 * (4 * (3 * 2))
    ===> 5 * (4 * 6)
    ===> 5 * 24
    ===> 120

    递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。

    使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。


    查看全部
  • L = r'''
    [
    'Adam',95.5,
    'Lisa',85,
    'Bart',59
    ]'''
    print L


    这才是列表qwq

    查看全部
    0 采集 收起 来源:Python创建list

    2018-03-26

  • 班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:

    L = [75, 92, 59, 68]

    请利用for循环计算出平均成绩。

    • ?不会了怎么办

    • 利用一个sum变量累加就可以计算出总成绩。

      参考代码:

      L = [75, 92, 59, 68]
      sum = 0.0
      for x in L:
          sum = sum + x
      print sum / 4


    查看全部
    0 采集 收起 来源:Python之 for循环

    2018-03-26

  • Python的 for 循环就可以依次把list或tuple的每个元素迭代出来:

    L = ['Adam', 'Lisa', 'Bart']for name in L:
        print name

    注意:  name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)。


    查看全部
    0 采集 收起 来源:Python之 for循环

    2018-03-26

  • 定义了tuple:

    t = ('a', 'b', ['A', 'B'])

    由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变?

    • ?不会了怎么办

    • ['A', 'B']是list,因此内容可变,但('A', 'B')的内容是不可变的。

      参考代码:

      t = ('a', 'b', ('A', 'B'))
      print t


    查看全部
  • 要避免嵌套结构的 if ... else ...,我们可以用 if ... 多个elif ... else ... 的结构,一次写完所有的规则:

    if age >= 18:
        print 'adult'elif age >= 6:
        print 'teenager'elif age >= 3:
        print 'kid'else:
        print 'baby'


    查看全部
  • 比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的坐标:

    # math包提供了sin()和 cos()函数,我们先用import引用它:

    import math
    def move(x, y, step, angle):
        nx = x + step * math.cos(angle)
        ny = y - step * math.sin(angle)
        return nx, ny

    这样我们就可以同时获得返回值:

    >>> x, y = move(100, 100, 60, math.pi / 6)
    >>> print x, y
    151.961524227 70.0

    但其实这只是一种假象,Python函数返回的仍然是单一值:

    >>> r = move(100, 100, 60, math.pi / 6)
    >>> print r
    (151.96152422706632, 70.0)

    用print打印返回结果,原来返回值是一个tuple

    但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。


    查看全部
  • 利用 if ... else ... 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。

    注意: else 后面有个“:”


    查看全部
    0 采集 收起 来源:Python之 if-else

    2018-03-26

  • 注意引用数学函数时,注明 math.sqrt()

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

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

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

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

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

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


    查看全部

举报

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

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