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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 【收藏其同学的解释】汉诺塔讲究大小顺序,小的在上大的在下,要把n个盘子从a柱移到c柱就是move(n,a,b,c)。注意函数里面的4个参数:第一个参数(n)代表的是盘子个数,第二个参数(a)的位置代表的是起始柱,第三个参数(b)代表的是过渡柱,最后一个参数(c)代表的是目标柱。 你不要想具体的移动的步骤,抽象来想: 第一步就是把n-1个小盘子移到b,第二步是把a柱上的最大的盘子移到c,最后是把b柱上n-1个盘子移到c 所以第一步就是move(n-1,a,c,b) ,这个参数代表把n-1个盘子从a起始柱移到b目标柱,c就当是个过渡的柱子 第二步就是print a,'-->',c ,这个表示把a起始柱上的一个盘子移到c 最后一步move(n-1,b,a,c),表示把b起始柱上的n-1个盘子移动到c上
    查看全部
  • 查看了汉诺塔的游戏规则,首先每次只能移动一个盘子;此外每次移动必须保证小的盘子在大的盘子之上。我觉得用3个盘子来演示一遍这个游戏,就能明白了。 那么现在三根柱子a,b,c;三个盘子1,2,3(1号最小) 第一步:a --> c(1号盘子移到c柱上) 第二步:a --> b(2号盘子移到b柱上) 第三步:c --> b(1号盘子从c移到b柱上,因为小盘一定要在大盘之上,所以我们一到三步的目的是要把a柱上最大的3号盘移到c柱上,所以要把c柱空出来,且3号盘上没有其他盘) 第四步:a --> c(把3号盘移到c柱上) 第五步:b --> a(此时b柱上还有1号和2号盘,先把1号盘移到a柱上) 第六步:b --> c(此时b柱上只有一个2号盘,直接移到c柱上) 第七步:a --> c(最后一步,把a柱上的1号盘移到c柱上) 完成后,此时c柱上就是1号、2号、3号盘依次从小到大排在c柱上。 n=3,理解后,可以自己再试一试4个盘子的移动,很有意思。
    查看全部
  • 要表示字符串 Bob said "I'm OK". 由于 ' 和 " 会引起歧义,因此,我们在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为 'Bob said \"I\'m OK\".'
    查看全部
  • \n 表示换行 \t 表示一个制表符 \\ 表示 \ 字符本身
    查看全部
  • 首项加尾项乘以项数除以二这种东西我会到处说吗
    查看全部
  • 很多人问为什么要加# -*- coding:utf-8 -* PY文件当中是不支持中文的,即使你输入的注释是中文也不行,为了解决这个问题,就需要把文件编码类型改为UTF-8的类型,输入这个代码就可以让PY源文件里面有中文了。
    查看全部
    0 采集 收起 来源:Python的注释

    2017-12-02

  • 布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。 布尔值可以用and、or和not运算。 and运算是与运算,只有所有都为 True,and运算结果才是 True。 or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。 not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。
    查看全部
  • 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9和12.3x10^8是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
    查看全部
  • 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 采集 收起 来源:多层表达式

    2018-03-22

  • 1. isinstance(x, str) 可以判断变量 x 是否是字符串; 2. 字符串的 upper() 方法可以返回大写的字母。
    查看全部
    0 采集 收起 来源:条件过滤

    2017-12-02

  • 列表生成式的 for 循环后面还可以加上 if 判断。例如: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 如果我们只想要偶数的平方,不改动 range()的情况下,可以加上 if 来筛选: >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] 有了 if 条件,只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中。
    查看全部
    0 采集 收起 来源:条件过滤

    2018-03-22

  • 使用for循环的迭代不仅可以迭代普通的list,还可以迭代dict。 假设有如下的dict: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 完全可以通过一个复杂的列表生成式把它变成一个 HTML 表格: tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()] print '<table>' print '<tr><th>Name</th><th>Score</th><tr>' print '\n'.join(tds) print '</table>' 注:字符串可以通过 % 进行格式化,用指定的参数替代 %s。字符串的join()方法可以把一个 list 拼接成一个字符串。 把打印出来的结果保存为一个html文件,就可以在浏览器中看到效果了: <table border="1"> <tr><th>Name</th><th>Score</th><tr> <tr><td>Lisa</td><td>85</td></tr> <tr><td>Adam</td><td>95</td></tr> <tr><td>Bart</td><td>59</td></tr> </table>
    查看全部
    0 采集 收起 来源:复杂表达式

    2018-03-22

  • range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...]
    查看全部
    0 采集 收起 来源:生成列表

    2017-12-02

  • 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环: >>> L = [] >>> for x in range(1, 11): ... L.append(x * x) ... >>> L [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。
    查看全部
    0 采集 收起 来源:生成列表

    2018-03-22

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

举报

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

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