为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
学习人数
综合评分9.43
3762人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • Python之倒序访问list

    我们还是用一个list按分数从高到低表示出班里的3个同学:

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

    这时,老师说,请分数最低的同学站出来。

    要写代码完成这个任务,我们可以先数一数这个 list,发现它包含3个元素,因此,最后一个元素的索引是2:

    >>> print L[2] Bart

    有没有更简单的方法?

    有!

    Bart同学是最后一名,俗称倒数第一,所以,我们可以用 -1 这个索引来表示最后一个元素:

    >>> print L[-1] Bart

    Bart同学表示躺枪。

    类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示:

    >>> print L[-2] Lisa >>> print L[-3] Adam >>> print L[-4] Traceback (most recent call last):   File "<stdin>", line 1, in <module> IndexError: list index out of range

    L[-4] 报错了,因为倒数第四不存在,一共只有3个元素。

    使用倒序索引时,也要注意不要越界。


    查看全部
  • Python按照索引访问list

    由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学:

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

    那我们如何从list中获取指定第 N 名的同学呢?方法是通过索引来获取list中的指定元素。

    需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。

    因此,要打印第一名同学的名字,用 L[0]:

    >>> print L[0] Adam

    要打印第二名同学的名字,用 L[1]:

    >>> print L[1] Lisa

    要打印第三名同学的名字,用 L[2]:

    >>> print L[2] Bart

    要打印第四名同学的名字,用 L[3]:

    >>> print L[3] Traceback (most recent call last):   File "<stdin>", line 1, in <module> IndexError: list index out of range

    报错了!IndexError意思就是索引超出了范围,因为上面的list只有3个元素,有效的索引是 0,1,2。

    所以,使用索引时,千万注意不要越界。


    查看全部
  • Python创建list

    Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

    比如,列出班里所有同学的名字,就可以用一个list表示:

    >>> ['Michael', 'Bob', 'Tracy'] ['Michael', 'Bob', 'Tracy']

    list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。

    构造list非常简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list:

    >>> classmates = ['Michael', 'Bob', 'Tracy'] >>> classmates # 打印classmates变量的内容 ['Michael', 'Bob', 'Tracy']

    由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:

    >>> L = ['Michael', 100, True]

    一个元素也没有的list,就是空list:

    >>> empty_list = []


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

    2020-03-13

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

        if n == 1:#如果只有一个圆盘则直接将圆盘从1移到3

            print a , '-->' , c

            return 

        move(n - 1 , a , c , b)如果不止一个圆盘首先要把n-1个圆盘移到2柱,并把n-1个圆盘当成一个整体,然后将最大的那个从1移到3,n-1从2移到3,即可完成汉诺塔问题

        print a , '-->' , c

        move(n - 1 , b , a , c)

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


    查看全部
  • 于是,fact(n)用递归的方式写出来就是:

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


    查看全部
  • import math


    def quadratic_equation(a, b, c):

        de=b**2-4*a*c

        if de>=0:

            x1=(-b+math.sqrt(de))/(2*a)

            x2=(-b-math.sqrt(de))/(2*a)

            return x1,x2

        else:

            return


    print quadratic_equation(2, 3, 0)

    print quadratic_equation(1, -6, 5)


    查看全部
  • import math


    def quadratic_equation(a, b, c):

        m = math.sqrt(b*b-4*a*c)

        if m > 0:

            x1 = (-b + m)/(2 * a);

            x2 = (-b - m)/(2 * a);

            return x1,x2

        elif m < 0:

            return none

        else:

            return -b/(2 * a)

    print quadratic_equation(2, 3, 0)

    print quadratic_equation(1, -6, 5)


    查看全部
  • 在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。

    我们以自定义一个求绝对值的 my_abs 函数为例:

    def my_abs(x):
        if x >= 0:
            return x    else:
            return -x

    请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。

    如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。

    return None可以简写为return。

    请定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和。

    def square_of_sum(L):

        return sum([i * i for i in L])

        或return sum(i*i for i in L)

    print square_of_sum([1, 2, 3, 4, 5])

    print square_of_sum([-5, 0, 5, 15, 25])


    查看全部
  • sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。

    解法1.

    L = []
    x = 1
    while x <= 100:
        L.append(x * x)
        x = x + 1
    print sum(L)

    2.

    L = xrange(1, 101)

    print sum([i*i for i in L])

    3.

    print sum([n**2 for n in range(1,101)])

    4.

    L = []

    x=1

    while True:

        if x==101:

            break

        L.append(x**2)

        x=x+1    

    print sum(L)


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

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

    添加元素时,用set的add()方法:

    如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了:

    删除set中的元素时,用set的remove()方法:

    如果删除的元素不存在set中,remove()会报错:

    所以用add()可以直接添加,而remove()前需要判断。

    针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。

    for name in L:
        if name in s:
            s.remove(name)
        else:
            s.add(name)


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

    2020-03-12

  • 请用 for 循环遍历如下的set,打印出 name: score 来。

    s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
    • ?不会了怎么办

    • 注意到set的元素是tuple,因此 for 循环的变量被依次赋值为tuple。

      参考代码:

      s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
      for x in s:
          print x[0] + ':', x[1]


    查看全部
    0 采集 收起 来源:Python之 遍历set

    2020-03-12

  • 由哪部分决定结果返回那一部分的值

    查看全部
  • weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])


    查看全部
  • 由于set存储的是无序集合,所以我们没法通过索引来访问。

    访问 set中的某个元素实际上就是判断一个元素是否在set中。

    set区分大小写

    查看全部
    0 采集 收起 来源:Python之 访问set

    2020-03-12

  • set里面用单引号修饰字符串

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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