美文网首页
《趣学Python——教孩子学编程》学习笔记第4-6章

《趣学Python——教孩子学编程》学习笔记第4-6章

作者: 27efec53a72d | 来源:发表于2018-04-04 00:10 被阅读98次

    第4章 用海龟画图

    4.1 使用Python的turtle(海龟)模块

    turtle模块提供了编写向量图的方法,基本上就是画简单的直线、点和曲线。

    4.1.1 创建画布
    >>> import turtle
    >>> t = turtle.Pen()
    
    4.1.2 移动海龟
    >>> import turtle
    >>> t = turtle.Pen()
    >>> t.forward(50)
    >>> t.left(90)
    >>> t.forward(50)
    >>> t.left(90)
    >>> t.forward(50)
    >>> t.left(90)
    >>> t.forward(50)
    

    reset是重置命令,清除画布并把海龟放回开始的位置;clear 是清除命令,它只清楚屏幕,海龟仍留在原位。

    up是把画笔从纸上抬起来,即停止作画,down是开始作画,以下代码是画两条平行线

    >>> t.reset()
    >>> t.backward(100)
    >>> t.up()
    >>> t.right(90)
    >>> t.forward(20)
    >>> t.left(90)
    >>> t.down()
    >>> t.forward(100)
    

    第5章 用if和else来提问

    5.1 if语句

    >>> age = 13
    >>> if age > 20:
        print('You are too old!')
    
        
    >>> age = 25
    >>> if age > 20:
        print('You are too old!')
    
        
    You are too old!
    

    5.2 条件语句帮我们作比较

    >>> age = 10
    >>> if age > 10:
        print('You are too old for my jokes!')
    
        
    >>> age = 10
    >>> if age >= 10:
        print('You are too old for my jokes!')
    
        
    You are too old for my jokes!
    >>> age = 10
    >>> if age == 10:
        print('You are too old for my jokes!')
    
        
    You are too old for my jokes!
    

    5.3 if-then-else语句

    >>> print('Want to hear a dirty joke?')
              
    Want to hear a dirty joke?
    >>> age = 12
    >>> if age == 12:
              print('A pig fell in the mud')
    else:
              print('Shh. It\' a secret.')
    
              
    A pig fell in the mud
    

    5.4 if和elif语句

    >>> age = 12
              
    >>> if age == 10:
              print('What do you call an unhappy cranberry?')
              print('A blueberry!')
    elif age == 11:
              print('What did the green grage say to the blue grape?')
              print('Breathe! Breathe!')
    elif age == 12:
              print('What didi 0 say to 8?')
              print('Hi guys!')
    elif age == 13:
              print('Why wasn\'t 10 afraid of 7')
              print('Because rather eating 9,7,8 pi.')
    else:
              print('Huh?')
    
              
    What didi 0 say to 8?
    Hi guys!
    

    5.5 组合条件

    >>> age = 12
              
    >>> if age == 10 or age == 11 or age == 12 or age == 13:
              print('What is 13 + 49 + 84 + 155 + 97 ? A headache!')
    else:
              print('Huh?')
    
              
    What is 13 + 49 + 84 + 155 + 97 ? A headache!
    
    >>> age = 12
              
    >>> if age >= 10 and age <= 13:
              print('What is 13 + 49 + 84 + 155 + 97 ? A headache!')
    else:
              print('Huh?')
    
              
    What is 13 + 49 + 84 + 155 + 97 ? A headache!
    

    5.6 没有值得变量——None

    None的含义是没有值。注意,None不是一个值为0的数字。

    >>> myval = None
              
    >>> print(myval)
              
    None
    
    >>> myval = None
              
    >>> if myval == None:
              print('The variable myval doesn\'t have a value')
    
              
    The variable myval doesn't have a value
    

    5.7 字符串与数字之间的不同

    10与'10'不同,前者是数字,后者是字符串。但二者可以转换

    >>> age = '10'
              
    >>> if age > 9:
              print('You are too old')
    
              
    Traceback (most recent call last):
      File "<pyshell#82>", line 1, in <module>
        if age > 9:
    TypeError: '>' not supported between instances of 'str' and 'int'
    >>> converted_age = int(age)
              
    >>> if converted_age > 9:
              print('You are too old')
    
              
    You are too old
    

    还可以做如下转换:

    >>> age = 10
              
    >>> converted_age = str(age)
              
    >>> age = '10.5'
              
    >>> converted_age = float(age)
              
    

    第6章 循环

    6.1 for循环

    打印五次hello

    >>> print('hello')
              
    hello
    >>> print('hello')
              
    hello
    >>> print('hello')
              
    hello
              
    >>> print('hello')
              
    hello
    >>> print('hello')
              
    hello
    

    打印五次hello,使用for循环

    >>> for x in range(0,5):
              print('hello')
    
              
    hello
    hello
    hello
    hello
    hello
    

    关于range的小插曲,range(0,5)表示从0开始到4结束。range和list结合,可以得到一个数字列表:

    >>> print(list(range(10,20)))
              
    [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
    

    我们也可以在print语句中用x来计算hello的个数

    >>> for x in range(0,5):
              print('hello %s' % x)
    
              
    hello 0
    hello 1
    hello 2
    hello 3
    hello 4
    

    用for循环遍历一个列表

    >>> wizard_list = ['spider leg','toe of frog','eye of newt','bat win','slug butter','snake dandruff']
              
    >>> for i in wizard_list:
              print(i)
    
              
    spider leg
    toe of frog
    eye of newt
    bat win
    slug butter
    snake dandruff
    

    还记得在第2章里我们做的那个算式吗?就是如果你用爷爷的疯狂发明复制金币的话,在一年后你将拥有多少金币的那个算式。20 + 10 * 365 - 3 * 52 它表示发现的20枚金币,再加上10个魔法金币乘以一年的365天,减去每周被乌鸦偷走的3枚金币。如果逆向看到这堆金币每周是怎么增长的呢?

    magic_coins = 70,表示每天10个魔法币乘以一周的7天

    >>> found_coins = 20
              
    >>> magic_coins = 70
              
    >>> stolen_coins = 3
              
    >>> coins = found_coins
              
    >>> for week in range(1,53):
              coins = coins + magic_coins - stolen_coins
              print('Week %s = %s' % (week,coins))
    
              
    Week 1 = 87
    Week 2 = 154
    Week 3 = 221
    Week 4 = 288
    Week 5 = 355
    Week 6 = 422
    Week 7 = 489
    Week 8 = 556
    Week 9 = 623
    Week 10 = 690
    Week 11 = 757
    Week 12 = 824
    Week 13 = 891
    Week 14 = 958
    Week 15 = 1025
    Week 16 = 1092
    Week 17 = 1159
    Week 18 = 1226
    Week 19 = 1293
    Week 20 = 1360
    Week 21 = 1427
    Week 22 = 1494
    Week 23 = 1561
    Week 24 = 1628
    Week 25 = 1695
    Week 26 = 1762
    Week 27 = 1829
    Week 28 = 1896
    Week 29 = 1963
    Week 30 = 2030
    Week 31 = 2097
    Week 32 = 2164
    Week 33 = 2231
    Week 34 = 2298
    Week 35 = 2365
    Week 36 = 2432
    Week 37 = 2499
    Week 38 = 2566
    Week 39 = 2633
    Week 40 = 2700
    Week 41 = 2767
    Week 42 = 2834
    Week 43 = 2901
    Week 44 = 2968
    Week 45 = 3035
    Week 46 = 3102
    Week 47 = 3169
    Week 48 = 3236
    Week 49 = 3303
    Week 50 = 3370
    Week 51 = 3437
    Week 52 = 3504
    

    6.2 while循环

    >>> x = 45
              
    >>> y = 80
              
    >>> while x < 50 and y < 100:
              x = x+1
              y = y+1
              print(x,y)
    
              
    46 81
    47 82
    48 83
    49 84
    50 85
    
    >>> x = 1
              
    >>> while x < 10:
              if x == 5:
                  break
              print(x)
              x = x+1
    
              
    1
    2
    3
    4
    

    相关文章

      网友评论

          本文标题:《趣学Python——教孩子学编程》学习笔记第4-6章

          本文链接:https://www.haomeiwen.com/subject/dmehhftx.html